div onclick with Form和其他元素

时间:2012-06-06 09:59:29

标签: javascript jquery triggers onclick

我想解决一个问题,我已将onclick元素附加到div(并且仅限于它!)

请查看以下代码:

<script>
function  goToo(url,idd){
alert(idd);
if (idd=="onlyMe")
window.location=url;
}
</script>
<div id="onlyMe" onclick="javascript:goToo('http://www.google.com', this.id)" style="<-index:-150">
<form><input type="text" name="coap"></form>

<h3>This is an element where click should work!</h3>

<div id="notME">
<h3>In this point it should not work!</h3>
</div>

</div>

我希望仅在div点击时触发onlick。

请查看示例直播@ http://modacalcio.com/HtmlProblemForm.html

点击会随处触发,特别是在输入表单中。

Obiovusly我希望在不删除子节点中的onclick的情况下使用它,因为它们有自己的onclick仍然需要工作

还有jquery我有同样的问题 有什么帮助吗?

2 个答案:

答案 0 :(得分:2)

$('#onlyMe').on('click', function(evt) {
    if ($(evt.target).parents('#notME').length === 0 && evt.target.id !== 'notME') {
        location.href = "http://...";
    }       
});

示例小提琴:http://jsfiddle.net/zhkr2/2/

我们的想法是检查事件是在#notME元素上还是在#notME中包含的元素内触发的,所以我检查一个祖先是否是那个元素

答案 1 :(得分:0)

给'div'一些宽度

#onlyMe
{
width:
height:

}

并正确关闭div。