<html>
<head>
<script>
function divclick(){
alert('div');
}
function checkclick(){
alert('check');
}
</script>
</head>
<body>
<div onclick=divclick()>
<input type=checkbox onclick=checkclick()/>
</div>
</body>
</html>上面的代码只要我点击复选框打印的是“div” 我想要的是“check”
像这样的情况应该怎么解决
<head>
<script>
function divclick(){
alert('div');
}
function checkclick(){
alert('check');
}
</script>
</head>
<body>
<div onclick=divclick()>
<input type=checkbox onclick=checkclick()/>
</div>
</body>
</html>上面的代码只要我点击复选框打印的是“div” 我想要的是“check”
像这样的情况应该怎么解决
<input type="checkbox" onclick="checkclick()"/>
</div>
点复选框时,会先打印"check"然后打印"div"
要么别让属性和html的/挨在一起,加个空格就可以了。
<head>
<script>
function divclick(){
alert('div');
}
function checkclick(arg){
var evnt=window.event?window.event:arg;
alert('check');
if(evnt.stopPropagation){
evnt.stopPropagation();
}else{
evnt.cancelBubble=true;
}
}
</script>
</head>
<body>
<div onclick="divclick()">
<input type="checkbox" onclick="checkclick()"/>
</div>
</body>
</html>
仁兄也确实应该注意下书写的规范了,呵呵
<head>
<script>
function divclick(){
alert('div');
}
function checkclick(arg){
var evnt=window.event?window.event:arg;
alert('check');
if(evnt.stopPropagation){
evnt.stopPropagation();
}else{
evnt.cancelBubble=true;
}
}
</script>
</head>
<body>
<div onclick="divclick()">
<input type="checkbox" onclick="checkclick()"/>
</div>
</body>
</html>
<head>
<script>
function divclick(){
alert('div');
}
function checkclick(){
alert('check');
}
</script>
</head>
<body>
<div onclick=divclick()>
<input type="checkbox" onclick="checkclick()"/>
</div>
</body>
</html>
IE中事件可以沿着包容层次一点点起泡到上层,也就是说,下层的DOM节点定义的事件处理函数,到了上层的节点如果还有和下层相同事件类型的事件处理函数,那么上层的事件处理函数也会执行。例如, div 标签包含了 a ,如果这两个标签都有onclick事件的处理函数,那么执行的情况就是先执行标签 a 的onclick事件处理函数,再执行 div 的事件处理函数。如果希望的事件处理函数执行完毕之后,不希望执行上层的 div 的onclick的事件处理函数了,那么就把cancelBubble设置为true即可。
function checkclick(arg){
var evnt = window.event ? window.event : arg;
evnt.cancelBubble = true;
}