我正在website工作,我有一个主div
。我希望所有div
的页面区域都充当链接(点击它会导致提交表单并移动到另一个页面)所以我添加了div
属性:
<div class="box1" onclick="javascript:document.forms['womenForm'].submit();" ...>
此区域中的所有内容都会链接到下一页 此div中的HTML选项,但应该可以点击而无需转到下一页。
我怎么能导致这种情况发生?我尝试用div包装所选元素,给它href=""
或onclick=""
但仍然提交表单。
有人可以解决这个问题吗?
答案 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.
}
};