2011-09-29 82 views
0

我有linkbutton與onclick事件。我想要在FF中取消onclick事件,有時用戶可以點擊,有時不能點擊。我想取消從其他控件(下拉,文本框)觸發的JS函數中的onclick事件。所以,我想編寫函數,有時候取消這個事件,有時候不會從頁面上另一個元素觸發的函數中取消這個事件。取消在FF中的javascript onclick事件

例子:

function someFCE(linkButtonID) 
{ 
    var linkButton = document.getElementById(linkButtonID); 

    if (//firefox//) 
{ 
    if (//something//) 
     //cancel event// 
    } 
} 

凡//取消事件//,請幫我寫代碼來取消這個FF onclick事件。
對不起,我的英語。


如果我理解正確的,我可以點擊該按鈕後,取消該事件。問題是,按鈕有其他的JS驗證,這是危險的重寫這個按鈕的邏輯。
如果我添加其他點擊事件與jquery取消這個點擊事件,這個取消事件後驗證。那麼,是否有可能添加取消事件,在所有驗證之前先調用或取消onclick事件?只有在FF 謝謝。

回答

6

您應該添加事件偵聽器的元素:

linkButton.onclick = function(ev){ 
    ev.preventDefault(); 
    ev.stopPropagation(); 
} 

event對象作爲第一個參數事件偵聽器傳遞。可以從事件偵聽器中調用event對象的方法。 preventDefault()可防止發生默認事件。 stopPropagation()取消事件的氣泡,以便其他事件偵聽器不再收到事件。

0

如果你想停止從點火單擊事件,您可以LinkBut​​ton的的onclick事件設置爲null:

linkButton.onclick = null; 

這將刪除以前存在的功能,所以當按鈕被點擊,沒有事件處理程序被調用。