我页面上的一些超链接只有在网格控件内选择元素时才被启用。
我有机会在页面上选择一行时注入(inject)一些代码,我想使用 jquery 代码启用/禁用这些超链接。
有什么建议吗?
最佳答案
不禁用它们会更容易,而只是阻止它们做它们自动做的事情。我会使用 $().delegate
来做到这一点:
$(document.body).delegate('a', 'click', function(e) {
if ($(this).is('.disabled')) { // or whatever logic here
e.preventDefault();
}
});
您可以在条件子句中使用任何逻辑,例如检查页面上是否存在其他元素,检查配置变量等。
编辑 如果树的更高层有停止传播的处理程序,这将无法可靠地工作。如果您有大量函数执行传播操作,最简单的解决方案是在每个函数开始时进行条件检查:
$('#your_link').click(function(e) {
if (logic) {
e.stopPropagation();
e.preventDefault();
};
// the rest of your function here
});
关于javascript - 禁用超链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4004429/