我想解决一个问题,我已将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我有同样的问题 有什么帮助吗?
答案 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。