2011-09-08 68 views
12

我想將以下JS更改爲Jquery。但我不知道如何將參數傳遞給Jquery中的點擊事件。任何人都可以幫助我,謝謝!如何將參數傳遞給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)" /> 

回答

8

你並不需要傳遞的參數,你可以使用.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); 
    }); 

沒有必要把它包在一個jQuery對象得到它

20

更好的方法:

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

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

但是,如果你真的需要做的點擊處理程序內嵌,這將工作:

<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

作爲DOC說,你可以把數據作爲下一個處理程序:

// 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); 
} 
相關問題