为什么我的功能不被调用?

Sam*_*tar 0 javascript jquery

我有一个这样的文件:

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

function accessLinkClick(e) {
    alert("hi")
}
Run Code Online (Sandbox Code Playgroud)

另一个:

$(document).ready(function () {
$('#loginLink','#registerLink')
.bind('click', accessLinkClick);
});
Run Code Online (Sandbox Code Playgroud)

我的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>
Run Code Online (Sandbox Code Playgroud)

我在第一个文件中更改了函数的名称,运行了我的代码并得到一个错误,说该函数不存在.所以这证明了accessLinkClick函数是已知的.然后我将函数名称更改回accessLinkClick.

我逐步完成代码,我看到它转到绑定事件,所以看起来函数被绑定了.

但是,当我运行我的代码并单击loginLink时,没有任何反应.

我在这里做错了吗?我应该拿走该功能的参数吗?

Jam*_*ice 8

问题是你的选择器:

$('#loginLink','#registerLink')
Run Code Online (Sandbox Code Playgroud)

你需要一个字符串而不是两个:

$('#loginLink, #registerLink')
Run Code Online (Sandbox Code Playgroud)

原因是jQuery函数第二个参数上下文.它查找与第一个参数匹配的元素,该参数#loginLink是第二个参数的后代.