我在ASP.net 2.0中有一个gridview,它有一个很小的javascript代码,当你单击该行时,它将被选中。
cell.Attributes.Add("onClick", Page.ClientScript.GetPostBackClientHyperlink(this, "Select$" + row.RowIndex.ToString()));
这段代码很完美,但是当我在gridview行中有一个链接或按钮时,只要点击它,就会发生回发并覆盖链接或按钮操作。
我的问题,知道有人取消行javascript onclick事件的解决方案吗?
以下解决方案未成功测试:
return false;
event.stopImmediatePropagation
有效,但我使用分页,因此事件不会绑定到新页面。.live("click", function(){...});
的jQuery使用分页,但event.stopImmediatePropagation
和live
不支持delegate
。答案 0 :(得分:0)
好的,我找到了以下解决方案:
将它放在gridview中的控件中:
... onClientClick="return ShowSomething(this);" ...
这在页面/头部:
function ShowSomething(elm) {
var e = new jQuery.Event(window.event);
e.preventDefault();
e.stopPropagation();
e.stopImmediatePropagation(); // Stop now!!!
var that = jQuery(elm);
return false;
}