2013-01-15 76 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它是從調用。

相關問題