如何使用jQuery禁用多个链接
How can I disable multiple links with jQuery?
我有以下HTML:
<a title="Login" data-href="/MyAccount/Access/Login"
data-title="Admin" data-entity="n/a"
id="loginLink" class="nav-button dialogLink"><b>Login</b></a>
<a title="Register"
data-href="/MyAccount/Access/Register"
data-title="Admin" data-entity="n/a"
id="registerLink" class="nav-button dialogLink"><b>Register</b></a>
当用户单击我想要的#loginLink或#registerLink时以禁用链接并调用对话框脚本。我创建了以下功能:
$("#loginLink, #registerLink")
.click(function () {
$('#loginLink').prop('disabled', true);
$('#registerLink').prop('disabled', true);
dialog(this);
});
它正确地调用对话框,但不会禁用链接,如果我多次单击按钮会调出多个对话框盒我做错什么了吗?我不明白为什么它不起作用。
如果您想在任何时候绑定和取消绑定事件,请将代码存储在函数中,然后可以使用带名称空间的事件将事件与该函数关联起来。
function dlog(e) {
e.preventDefault();
dialog(this);
}
var $els = $("#loginLink, #registerLink");
$els.on('click.dlog', function(e){ dlog(e) }); // bind
$els.off('.dlog'); // unbind
编辑:另一种选择是使用仅附加一次事件的one()
,然后可以在对话框关闭时再次附加事件。
$els
.one(function(e) { dlog(e) })
.dialog({
beforeClose: function() {
$els.one(function(e) { dlog(e) });
}
});
您必须使用jQuery的on()
和off()
方法来绑定/取消绑定事件。设置disabled
属性对链接没有影响,单击事件仍将被激发。
在这里,您可以找到描述和演示:http://api.jquery.com/off/
你需要像这样做
$("#loginLink, #registerLink").click(function(e) {
e.preventDefault();
dialog(this);
});
$("#loginLink, #registerLink").on("click", function () {
dialog(this);
return false;
});
jQuery中的return false
将同时执行e.preventDefault
和e.stopPropagation
,其中第二个将防止事件冒泡,这就是您所追求的。
其他信息:event.prventDefault()与return false
相关文章:
- 锚链接无法使用.slideUp jquery函数
- 如何在数据表的命令链接中使用 ajax 禁用表单字段
- 我想在单击clear链接时使用javascript中的拼接删除整个列表
- 替换文本中的随机youtube链接以使用javascript嵌入代码
- 单击链接时使用jQuery更改url
- 在后面的链接中使用第一个承诺的价值
- 为什么使用 JavaScript 中的 @Url.Action 生成的链接在使用 AttributeRouting 时不
- 获取链接帖子使用脚本“data:post.url”博主不起作用
- 如何使用链接在使用 Lodash 3.0 模块时
- 如何在单击链接时使用 ajax 中的回调函数
- 在IE 7中,如果链接是使用jQuery创建的,如何获取链接的href属性的文字值
- 何时应使用与号 实体 (&)不在 HTML 链接中使用
- 在服务器上使用 ExpressJS,在客户端静态链接上使用 JQuery
- JavaScript pushState / onpopstate无法与页面上的普通链接结合使用
- 如何在锚标签中找到锚链接并使用jquery自动单击该链接
- 如何从菜单中预加载html链接并使用javascript隐藏/显示内容
- 单击链接时使用 AJAX 替换内容
- 如何在链接上使用 php 变量使用 onClick 事件
- JavaScript 原型链接,使用“self”对此进行简单处理
- 在链接中使用哈希时取消页面滚动