2009-02-19 80 views
0

我在一個asp.net網站中實現了一個浮動彈出式幫助控件,並且我正在使用JQuery來實現whizzy位。JavaScript:取消跨瀏覽器的事件

點擊鏈接即可看到彈出窗口,鏈接還有一個href指向另一個頁面以支持禁用JavaScript的用戶。我添加了「返回false」;到鏈接的onClick事件中的Javascript字符串的末尾,以防止導航到href值,並且非常高興,直到我意識到這在Firefox中不受支持。

我遇到過幾篇文章,指出event.preventDefault方法可以用來讓Firefox的行爲方式相同,但是在所有情況下,所涉及的例子似乎都有一些明確的添加事件的繁瑣模式有關的對象。

有沒有一種簡單的方法來獲得這種語法的工作?我想盡可能簡化我的控制。代碼示例:

<a id="myLink" 
onclick="javascript:$('#myPanel').addClass('helpPopOn');return 
false;" href="/pages/help.aspx?content=TestHelp">Help</a> 

回答

5

明確添加事件是繁重

$("#myLink").click(function(e) 
{ 
    $('#myPanel').addClass('helpPopOn'); 
    e.preventDefault(); 
}); 
+0

謝謝 - 我將如何在整合,雖然這對我的控制?可能有多個相同的控制,所以我需要能夠傳遞控制ID等? – 2009-02-19 16:00:32

1

雖然Shog9的答案是正確的,對於完整性相同的邏輯顯然也適用於內聯處理程序:

<a id="myLink" onclick="javascript:$('#myPanel').addClass('helpPopOn');event.preventDefault();return false;" href="/pages/help.aspx?content=TestHelp">Help</a>