如何将参数传递给Jquery中的单击事件
问题描述:
我想将以下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)" />
答
你并不需要传递的参数,你可以使用.attr()
方法
$(function(){
$('elements-to-match').click(function(){
alert("The id is "+ $(this).attr("id"));
});
});
答
$('elements-to-match').click(function(){
alert("The id is "+ this.id);
});
没有必要把它包在一个jQuery对象得到它
答
更好的方法:
<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);" />
答
作为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);
}