簡體   English   中英

事件阻止默認

[英]Event prevent default

我下面有功能

function someName(e){
   e.preventDefault();
   $('#someCont').dialog({
     width:200,
     height:auto,
     modal:true
   })
}

我正在使用它

的HTML

<a href="#" onclick="someName()">Link Name </a>

但在瀏覽器中會引發錯誤“未定義e”。 有人可以建議我做錯了什么嗎? 錨標記可能會超過1

通過jquery綁定單擊函數,而不是將其內聯

(function($){
    $(function() {
        function someName(e) {
            e.preventDefault();
        }

        $('a').click(function(e) {
            someName(e);
        });
    });
})(jQuery);

或在函數中添加參數:

onClick="someName(e)"

您需要傳遞事件對象

<a href="#" onclick="someName(event)">Link Name </a>

如果您不使用內聯事件並分配一些ID或類來錨定並使用它來綁定事件,則可以采用其他方法。

的HTML

<a href="#" id="a1">Link Name </a>

Java腳本

$('#a1').click(function(e){
  e.preventDefault();
   $('#someCont').dialog({
     width:200,
     height:auto,
     modal:true
   })
});

function someName(e) ,e是事件對象。 因此,無論何時調用此函數,都應該向window事件對象傳遞一個如下所示的參數:

<a href="#" onclick="someName(event)">Link Name </a> // Here I have passed this object 

否則,您將得到相同的錯誤'e not defined'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM