簡體   English   中英

為什么不能調用我的函數?

[英]Why could it be that my function is not getting called?

我有一個這樣的文件:

//function accessLinkClick(e) {
//    e.preventDefault();
//    $('#registerLink', '#loginLink')
//        .unbind('click', accessLinkClick);
//    dialog(this);
//}

function accessLinkClick(e) {
    alert("hi")
}

另一個:

$(document).ready(function () {
$('#loginLink','#registerLink')
.bind('click', accessLinkClick);
});

我的HTML看起來像這樣:

<a id="loginLink" class="button dialogLink" title="Login" data-href="/MyAccount/Access/Login" data-title="Admin" data-entity="n/a" data-dialog="UserAdmin" href="#">Login</a>

我在第一個文件中更改了函數的名稱,運行了我的代碼,並收到一條錯誤消息,指出該函數不存在。 因此,這向我證明了accessLinkClick函數是已知的。 然后,我將函數名稱改回了accessLinkClick。

我單步執行代碼,然后看到它進入了綁定事件,因此看起來該函數已被綁定。

但是,當我運行代碼並單擊loginLink時,什么也沒有發生。

我在這里做錯什么了嗎? 我應該刪除該函數的參數以使其起作用嗎?

問題是您的選擇器:

$('#loginLink','#registerLink')

您需要一個字符串而不是兩個:

$('#loginLink, #registerLink')

原因是jQuery函數第二個參數上下文 它查找與第一個參數#loginLink匹配的元素,該元素是第二個參數的后代。

暫無
暫無

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

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