2011-03-01 148 views
0

爲了div小號點擊我用這個:jQuery的DIV點擊,抓不良點擊

$(".clickable").click(function (event) { 
    window.location = $(this).find('a').attr('href'); 
    event.preventDefault(); 
}); 

我在asp.NET使用<asp:Repeater>創建幾個這樣的<div>秒。

的問題是,所有點擊在div通過這個jQuery拿起 - 我也有在div內的,爲了這個,我想趕上點擊正常,並在repeater_ItemCommand事件過程 - 但這不火 - 頁面只是重定向到div中的超鏈接中找到的HREF。

無論如何,我能阻止這一切,使按鍵拿起正常?

回答

2

您需要檢查event.target是否爲input元素(使用nodeName屬性或調用$(event.target).is(...))。

如果是,不要在你的處理器做任何事情。

+0

尼斯,而無需修改標記+1。 – Loktar 2011-03-01 16:24:45

+0

謝謝你,一直工作就像一個魅力。 – bgs264 2011-03-01 16:35:18

0

這樣做的一種方法是修改您的標記並在您的主div中添加另一個div,該div具有錨標記。給這個班級點擊。在你的按鈕外面,像這樣。

<div> 
    <div class='clickable'> 
     <a href='#'>Link</a> 
    </div> 
    <asp:button> 
</div>