可能重复:
How do you find out the caller function in JavaScript?
我有以下代码:
JS:
function myfunc(mynumber){
console.log(mynumber);
}
HTML:
<div onclick="myfunc(5);"></div>
有没有办法,使用jQuery,能够获取在myfunc
函数内单击的元素的上下文,而不将this
或$(this)
作为参数传递给onclick
属性?
答案 0 :(得分:2)
<script>
$( "div").bind("click", function( e ) {
myfunc(mynumber)
});
</script>
或使用param
$('div').bind("click", { Param1: 2 }, function(event){
alert(event.data.Param1);
});
答案 1 :(得分:1)
我使用jQuery实际绑定事件处理程序,该函数内部this
将引用触发事件的元素。您可以使用HTML5 data-*
属性来存储要用于该特定元素的数字。
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);
});
});
答案 2 :(得分:0)
不确定这是否是您要求的。你可以用
调用一个函数myfunc.call(params);
现在在myfunc中,当你引用或使用它时,它指的是从中调用它的上下文或DOM。