亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

addEvent(close,'click',hideLogin);這句里面為什么用close實現不了????

<!doctype html>

<html>

<head>

? ? <meta charset="UTF-8">

<title>Document</title>

<style>

*{margin:0;padding:0;}

? ? ?.head{font-size:12px;padding:6px 0 0 10px;}

? ? ?#login_box{width:300px;height:150px;background:#eee;

? ? ?border:1px solid #ccc;position:absolute;left:50%;top:50%;margin-left:-150px;margin-top:-75px;display:none;}

? ? ?#login_box p{height:20px;border-bottom:1px solid #ccc;font-size:12px;padding:6px 0 0 5px;font-weight:bold;}

? ? ?#close{width:14px;height:14px;background:url(close.png) no-repeat;position:absolute;right:4px;top:6px;}

</style>

<script>

? ? ? window.onload=function(){

? ? ? ?var login_btn=document.getElementById('login'),

? ? ? ? ? ?login_box=document.getElementById('login_box'),

? ? ? ? ? ?close=document.getElementById('close');

? ? ? ?// 封裝添加事件監聽程序

? ? ? ?function addEvent(ele,type,hander){

? ? ? ? ? ?if(ele.addEventListener){//dom2級事件處理程序判斷

? ? ? ? ? ? ele.addEventListener(type,hander,false);

? ? ? ? }else if(ele.attachEvent){//IE事件處理程序判斷

? ? ? ? ? ? ele.attachEvent('on'+type,hander);

? ? ? ? }else{//DOM0級事件處理程序判

? ? ? ? ? ? ele['on'+type]=hander;

? ? ? ? ? ?}

? ? ? ?}

? ? ? ? // 顯示登錄層函數

? ? ? ? function showLogin(){

? ? ? ? ? ? ? login_box.style.display='block';

? ? ? ? }

? ? ? ? // 隱藏登錄層函數

? ? ? ? function hideLogin(){

? ? ? ? ? ? login_box.style.display='none';

? ? ? ? }

? ? ??

? ? ? ? //點擊登錄按鈕顯示登錄層

? ? ? ? // 執行代碼

? ? ? ? addEvent(login_btn,'click',showLogin);//login_btn這個是怎么理解?

? ? ? ? //點擊關閉按鈕隱藏登錄層

? ? ? ? // 執行代碼

? ? ? ? addEvent(close,'click',hideLogin);

? ? ? } ?

</script>

</head>

<body>

<div>親,您好!<input type="button" value="登 錄" id="login"></div>

<div id="login_box">

<p>用戶登錄</p><span id="close"></span>

</div>

</body>

</html>


正在回答

2 回答

因為時間冒泡了呀,你用close來hideLogin的同時冒泡到了?login_box來showLogin了,你對hideLogin函數里加一句阻止事件冒泡就可以解決這個問題了

0 回復 有任何疑惑可以回復我~
#1

qq_楓_ 提問者

謝謝,怎么添加呀?我添了怎么沒用呢?
2016-12-07 回復 有任何疑惑可以回復我~
#2

飛向銀河系 回復 qq_楓_ 提問者

你是怎么添加的?
2016-12-07 回復 有任何疑惑可以回復我~
#3

飛向銀河系 回復 qq_楓_ 提問者

如果要兼容DOM和IE的話,應該做個判斷,然后用if...else...來判斷使用stopPropagation()或cancelBubble=true
2016-12-07 回復 有任何疑惑可以回復我~
#4

qq_楓_ 提問者

非常感謝!
2016-12-07 回復 有任何疑惑可以回復我~
查看1條回復

函數addEvent有三個參數(ele,type,hander),這里的login_btn是第一個參數,就是需要添加時間的元素

0 回復 有任何疑惑可以回復我~
#1

crystal_snow

添加事件
2016-12-06 回復 有任何疑惑可以回復我~
#2

飛向銀河系

他的close就是獲取的span元素~~~
2016-12-06 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

addEvent(close,'click',hideLogin);這句里面為什么用close實現不了????

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號