2011-09-08 28 views
12

Tôi muốn thay đổi JS sau thành Jquery. Nhưng tôi không biết làm thế nào để vượt qua tham số để nhấp vào sự kiện trong Jquery. Bất cứ ai có thể giúp tôi, cảm ơn!Cách chuyển tham số cho sự kiện nhấp chuột trong Jquery

<script type="text/javascript"> 

function display(id){ 

    alert("The ID is "+id); 
    } 
</script> 

<input id="btn" type="button" value="click" onclick="display(this.id)" /> 

Trả lời

8

Bạn không cần phải vượt qua các tham số, bạn có thể lấy nó sử dụng phương pháp .attr()

$(function(){ 
    $('elements-to-match').click(function(){ 
     alert("The id is "+ $(this).attr("id")); 
    }); 
}); 
4
$('elements-to-match').click(function(){ 
     alert("The id is "+ this.id); 
    }); 

không cần phải quấn nó trong một đối tượng jquery

20

Cách tiếp cận tốt hơn:

<script type="text/javascript"> 
    $('#btn').click(function() { 
     var id = $(this).attr('id'); 
     alert(id); 
    }); 
</script> 

<input id="btn" type="button" value="click" /> 

Nhưng, nếu bạn thực sự cần phải làm nội tuyến handler nhấp chuột, điều này sẽ làm việc:

<script type="text/javascript"> 
    function display(el) { 
     var id = $(el).attr('id'); 
     alert(id); 
    } 
</script> 

<input id="btn" type="button" value="click" OnClick="display(this);" /> 
4

Như DOC nói, bạn có thể truyền dữ liệu để xử lý như sau:

// say your selector and click handler looks something like this... 
$("some selector").on('click',{param1: "Hello", param2: "World"}, cool_function); 

// in your function, just grab the event object and go crazy... 
function cool_function(event){ 
    alert(event.data.param1); 
    alert(event.data.param2); 

    // access element's id where click occur 
    alert(event.target.id); 
} 
Các vấn đề liên quan