获取调用函数的元素

时间:2013-01-15 10:39:09

标签: jquery function parameter-passing

  

可能重复:
  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属性?

3 个答案:

答案 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。