从div的子节点中删除'onclick'命令

时间:2010-03-06 11:09:01

标签: javascript html

我正在website工作,我有一个主div。我希望所有div的页面区域都充当链接(点击它会导致提交表单并移动到另一个页面)所以我添加了div属性:

<div class="box1" onclick="javascript:document.forms['womenForm'].submit();" ...>

此区域中的所有内容都会链接到下一页 此div中的HTML选项,但应该可以点击而无需转到下一页。

我怎么能导致这种情况发生?我尝试用div包装所选元素,给它href=""onclick=""但仍然提交表单。

有人可以解决这个问题吗?

2 个答案:

答案 0 :(得分:4)

你需要阻止事件冒泡到层次结构......

使用onclick属性,您可以使用

执行此操作 选择元素上的

onclick="event.cancelBubble=true;if(event.stopPropagation) event.stopPropagation();return false;"

答案 1 :(得分:1)

首先,javascript:伪协议在您的代码中是多余的,因为您使用的是“onclick”属性。

我建议远离内联JavaScript并冒险进入更可接受的unobtrusive JavaScript世界。

无论如何,您要做的是检查事件是否未在<select>元素上触发。随着不引人注目的JS将会是这样的:

someElement.onclick = function(e) {
    var target = e ? e.target : event.srcElement;
    if (!/option|select/i.test(target.nodeName)) {
        // do stuff.
    }
};