2016-03-30 16 views
6

Ví dụ, tôi có một văn bản đầu vào và một nútcách liên kết hai sự kiện trên hai thành phần với một hàm trong jquery?

Tôi muốn hai sự kiện, button.on bấm và input.on KeyEnterPress để ràng buộc vào một chức năng tương tự

Làm thế nào tôi có thể làm điều đó?

$('#search.onClick OR $searchText.onKeyEnterPress') 
+1

bạn có thể thêm cùng lớp để cả hai yếu tố và đính kèm một sự kiện nhấp chuột và keyup. – guradio

+0

https://jsfiddle.net/vfttf4Lx/ kiểm tra bản trình diễn này cho mẫu – guradio

+0

https://jsfiddle.net/vfttf4Lx/1/ bạn cũng có thể kiểm tra loại sự kiện nếu bạn muốn chỉ chụp keyup cho văn bản đầu vào kiểm tra loại sự kiện và làm một điều kiện – guradio

Trả lời

3

Tạo một hàm để gọi:

function myfunc(event){ 
    // some code 
} 

Bạn có thể làm

$('#search').add($searchText).on('click keyup', myfunc); 

hoặc nếu bạn chỉ muốn những người trên một (không phải cả hai) d o:

$('#search').on('click', myfunc); 
$($searchText).on('keyup', myfunc); 

LƯU Ý Không rõ ràng nếu điều đó cuối cùng là một đối tượng jQuery nhưng nếu như vậy:

$searchText.on('keyup', myfunc); 
1

đây là phương pháp bạn muốn hay không?

$('.but').on('click keyup',function(){ 
 
\t if (event.which == 13) { 
 
    console.log('1'); 
 
    return; 
 
    } 
 
\t console.log('1'); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<input type="text" class="but">

+0

Tại sao trộn kiểu xử lý sự kiện (nghĩa là tại sao không sử dụng 'on' cho cả hai)? Hầu hết jQuery tôi đã nhìn thấy cũng sẽ chuỗi chúng ra khỏi bộ chọn thay vì nhận được các yếu tố hai lần. Điểm nhỏ, nhưng đáng nói đến. –

+0

bạn có 2 lớp phải không? 'search' và' searchtext'? – mmativ

+0

kiểm tra điều này, tôi 'ràng buộc' trong một trình xử lý sự kiện. – mmativ

0
function doOneThing(){ 
    console.log('Do one thing.'); 
} 

$("#search_input").on('keypress', function(e) { 
    if (e.which === 13) { 
     doOneThing(); 
    } 
}); 

$("#search_button").on('click', function(e) { 
    doOneThing(); 
}); 
0

Tham khảo demo.

Hãy tìm mã dưới đây:

HTML:

<div> 
    <input type="text" id="searchText" placeholder="Type soemthing" /> 
    <br> 
    <br> 
    <button id="search"> 
    Click Me 
    </button> 
</div> 

JS:

$(function() { 
    $('#search').on('click', execute); 
    $('#searchText').on('keyup', execute); 
}); 

function execute() { 
    alert('Event Fired'); 
} 
Các vấn đề liên quan