2011-10-27 25 views
9

làm thế nào để phát hiện nút mà được nhấp sử dụng jQuerylàm thế nào để phát hiện nút mà được nhấp sử dụng jQuery

<div id="dBlock"> 
<div id="dCalc"> 
    <input id="firstNumber" type="text" maxlength="3" /> 
    <input id="secondNumber" type="text" maxlength="3" /> 
    <input id="btn1" type="button" value="Add" /> 
    <input id="btn2" type="button" value="Subtract" /> 
    <input id="btn3" type="button" value="Multiply" /> 
    <input id="btn4" type="button" value="Divide" /> 
</div> 
</div> 

Lưu ý: trên "dCalc" khối được thêm tự động ...

Trả lời

31
$("input").click(function(e){ 
    var idClicked = e.target.id; 
}); 
5
$(function() { 
    $('input[type="button"]').click(function() { alert('You clicked button with ID:' + this.id); }); 
}); 
1

Vì khối được thêm động bạn có thể thử:

jQuery(document).delegate("#dCalc input[type='button']", "click", 
    function(e){ 
    var inputId = this.id; 
    console.log(inputId); 
    } 
); 

demo http://jsfiddle.net/yDNWc/

1

jQuery có thể bị ràng buộc với đầu vào/nút riêng lẻ hoặc cho tất cả các nút trong biểu mẫu của bạn. Khi một nút được nhấp vào, nó sẽ trả về đối tượng của nút đó được nhấp. Từ đó, bạn có thể kiểm tra các thuộc tính như giá trị ...

$('#dCalc input[type="button"]').click(function(e) { 
    // 'this' Returns the button clicked: 
    // <input id="btn1" type="button" value="Add"> 
    // You can bling this to get the jQuery object of the button clicked 
    // e.g.: $(this).attr('id'); to get the ID: #btn1 
    console.log(this); 

    // Returns the click event object of the button clicked. 
    console.log(e); 
}); 
+0

Về mặt kỹ thuật, 'e' đại diện cho đối tượng sự kiện nhấp chuột, không phải đối tượng nút. – Blazemonger

+0

Bạn đã đúng, đã cập nhật câu trả lời. –

+0

@ mblase75, thực tế đối tượng sự kiện nhấp chuột là 'e.originalEvent',' e' là đối tượng tùy chỉnh được tạo bởi jQuery có các thuộc tính "được duyệt qua" để thuận tiện và không bao gồm một số thứ trong 'e.originalEvent' : P – Esailija

Các vấn đề liên quan