事件冒泡: 当一个元素上的事件被触发的时候,比如说鼠标点击了一个按钮,同样的事件将会在那个元素的所有祖先元素中被触发。这一过程被称为事件冒泡;这个事件从原始元素开始一直冒泡到DOM树的最上层。
可以用JS来阻止js事件冒泡。因为浏览器的差异IE和FF的JS写法有点不一样。
IE用cancelBubble=true来阻止而FF下需要用stopPropagation方法。
js代码
<script type="text/javascript">
$(document).click(function () {
$(".userLogin").slideUp();
return false;
})
function login(evt) {
$(".userLogin").slideDown();
if (window.event) {
event.cancelBubble = true;
} else if (evt) {
evt.stopPropagation();
}
}
function noshow() {
$("#" + id).css("background", "none");
}
</script>
<div class="userLogin" id="login">
<div class="divpassword">
<div style="text-align: left; vertical-align: middle; margin-left: 10px; margin-top: 5px; margin-bottom: -10px;"><span style="color: red;" id="errorinfo"></span></div>
<div class="userLogin-password-divleft">
</div>
<div id="clearUser" class="clearUser" title="清除用户名"></div>
</div>
<div class="divpassword">
<div class="userLogin-password-divleft">
<input type="text" id="pwdPrompt" style="background-color: #e8f2e4;" name="pwdPrompt" value="密码" />
</div>
<div class="passwordImage" id="clearPsw" title="清除密码"></div>
</div>
<div class="userLogin-forgetpassword-divleft">
<div style="float: left; padding-left: 3px;">
<input id="savpsw" type="checkbox" /><label style="cursor: pointer;" id="labcheck" for="savpsw">保存密码</label></div>
<span style="cursor: pointer;" id="pswforget">忘记密码</span>
</div>
<div class="center margintop40">
<input id="btlogin" name="login" type="submit" οnclick="userlogin()" class="buttonReg" value="登 录" />
</div>
</div>