2012-11-24 39 views
1

我有以下的方法我想在「點擊」事件中運行:給一個JavaScript函數的事件參數

function dostuff(evt) { 
     var currentTarget = evt.currentTarget; 
     // do more stuff 
    } 

在我的鏈接,我添加了onclick事件的方式如下:

link.Attributes.Add("onclick", "dostuff()"); 

但是,在我上面的示例中,evt參數爲null。我想解析JavaScript函數的click事件,所以我可以得到currentTarget,srcElement等。

如何在我的onclick事件中添加該事件?

回答

2

讓你這樣的onclick屬性:

link.Attributes.Add("onclick", "dostuff.call(this, event)"); 

  • 的功能將是綁定元素this

  • event對象將沿着

  • 傳遞它的工作原理是

    無論是在標準的瀏覽器,以及IE8和更低(包括事件對象傳遞)

+0

解決了我的問題,現在的工作。非常感謝! :-)真的有幫助。 –

+0

@LarsHoldgaard:不客氣。 –

0

括號是多餘的:

link.Attributes.Add("onclick", "dostuff"); 

您指定的"dostuff"返回值到`「的onclick」事件,而不是分配函數指針。

而不是使用"evt"使用"event"關鍵字,因爲它應該是。使用"srcElement"屬性來訪問該元素。

function dostuff() { 

    var currentElement = event.srcElement; 
} 

希望它有幫助。

0

試試這個:

代碼隱藏:

HyperLink1.Attributes.Add("onclick", "return handleHyperLinkClick(this);"); 

.aspx的:

<script type="text/javascript" language="javascript"> 

     function handleHyperLinkClick(hyperlink) { 

      return confirm("Do you want to navigate to " + hyperlink.href + " ?"); 
     } 
</script> 

希望這有助於!

相關問題