我有以下代码:
JS:
function myfunc(mynumber){
console.log(mynumber);
}
HTML:
<div onclick="myfunc(5);"></div>
有没有办法使用 jQuery 来获取在myfunc
函数内部被点击的元素的上下文,而不需要传递this
或$(this)
作为onclick
属性中的参数?
我有以下代码:
JS:
function myfunc(mynumber){
console.log(mynumber);
}
HTML:
<div onclick="myfunc(5);"></div>
有没有办法使用 jQuery 来获取在myfunc
函数内部被点击的元素的上下文,而不需要传递this
或$(this)
作为onclick
属性中的参数?
<script>
$( "div").bind("click", function( e ) {
myfunc(mynumber)
});
</script>
或使用参数
$('div').bind("click", { Param1: 2 }, function(event){
alert(event.data.Param1);
});
我会使用 jQuery 来实际绑定事件处理程序,这样this
在该函数内部将引用触发事件的元素。您可以使用 HTML5data-*
属性来存储要用于该特定元素的数字。
HTML
<div data-number="5">5</div>
<div data-number="26">26</div>
jQuery
$(function() {
$('div').on('click', function(e) {
console.log($(this).data('number'));
console.log(this);
});
});
不确定这是否是您要求的。你可以调用一个函数
myfunc.call(params);
现在在 myfunc 中,当您引用或使用 this 时,它指的是调用它的上下文或 DOM。