要使div
可点击,我可以使用:
$(".clickable").click(function (event) {
window.location = $(this).find('a').attr('href');
event.preventDefault();
});
我在asp.NET中使用<asp:Repeater>
来创建几个这样的<div>
。
问题是这个jQuery中的所有点击都被这个jQuery选中了 - 我在div中也有一个<asp:Button>
,为此我想抓住点击正常,在repeater_ItemCommand事件中处理它 - 但这不会触发 - 页面只是重定向到div中超链接中找到的href。
无论如何,我可以停止此操作并使按钮正常启动?
答案 0 :(得分:2)
您需要检查event.target
是否为input
元素(使用nodeName
属性,或致电$(event.target).is(...)
)。
如果是,请不要在处理程序中执行任何操作。
答案 1 :(得分:0)
执行此操作的一种方法是修改标记,并在主div
内添加另一个div
,其中包含锚标记。给这个类点击。并将你的按钮放在它之外,就像这样。
<div>
<div class='clickable'>
<a href='#'>Link</a>
</div>
<asp:button>
</div>