我有一个表格,我可以将所有表格行与其中的嵌套链接相关联。但是我试图禁用特定的表行,一旦他们有一个与之关联的类就停止被点击。
<script>
$('.selectable tr').click( function() {
var productLink = $(this).find("a");
productLink.attr("target", "_doc");
window.open(productLink.attr("href"));
return false;
});
$('.vandut_activ').click( function() {
$(this).attr('disabled', 'disabled');
return false;
});
</script>
问题是当我用.vandut_activ单击表行时,它仍会打开一个新的选项卡,该选项卡为空,因为它没有内部链接可供访问。在这种情况下如何停止点击事件?谢谢你的帮助!
答案 0 :(得分:2)
我不知道你的jQuery版本,但是从jQuery1.6 +你应该使用$("input").prop('disabled', true);
来禁用事件。尝试下面的代码(未测试)
选项1:
<script>
$('.selectable tr').click( function() {
var productLink = $(this).find("a");
productLink.attr("target", "_doc");
window.open(productLink.attr("href"));
return false;
});
$('.vandut_activ').click( function() {
$(this).prop('disabled', true);
return false;
});
</script>
选项2:
您可以使用css属性pointer-events
来禁用点击事件。
<script>
$('.selectable tr').click( function() {
var productLink = $(this).find("a");
productLink.attr("target", "_doc");
window.open(productLink.attr("href"));
return false;
});
$('.vandut_activ').click( function() {
$(this).css('pointer-events','none');
return false;
});
</script>
答案 1 :(得分:1)
如果您不希望该点击工作&#39; tr&#39;正在拥有&#39; vandut_activ&#39;那么你可以试试这个,
希望这就是你要找的东西
$('.selectable tr:not(.vandut_activ)').on('click', function() {
var productLink = $(this).find("a");
productLink.attr("target", "_doc");
window.open(productLink.attr("href"));
return false;});