0

可能重复:
你如何找出 JavaScript 中的调用者函数?

我有以下代码:

JS:
function myfunc(mynumber){
   console.log(mynumber);
}

HTML:
<div onclick="myfunc(5);"></div>

有没有办法使用 jQuery 来获取在myfunc函数内部被点击的元素的上下文,而不需要传递this$(this)作为onclick属性中的参数?

4

3 回答 3

2
<script>
  $( "div").bind("click", function( e ) {
    myfunc(mynumber)
  });
</script>

或使用参数

$('div').bind("click", {  Param1: 2 }, function(event){
    alert(event.data.Param1);
});
于 2013-01-15T10:41:23.517 回答
1

我会使用 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);
    });
});
于 2013-01-15T10:44:44.823 回答
0

不确定这是否是您要求的。你可以调用一个函数

myfunc.call(params);

现在在 myfunc 中,当您引用或使用 this 时,它指的是调用它的上下文或 DOM。

于 2013-01-15T10:47:42.370 回答