2013-01-15 77 views
0

可能重复元素:
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

是的,删除inline'onclick'函数并使用正确的'$(element).on('click',function(){...})',而所有的问题都解决了。 – adeneo

+0

你在函数参数中传递了什么? – Jai

回答

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
<script> 
    $("div").bind("click", function(e) { 
    myfunc(mynumber) 
    }); 
</script> 

或PARAM

$('div').bind("click", { Param1: 2 }, function(event){ 
    alert(event.data.Param1); 
}); 
0

不知道这是你问什么。您现在可以调用与

myfunc.call(params); 

的函数MYFUNC,当你引用或使用此,它是指上下文或DOM它是从调用。

相关问题