一個詭異的問題,事件對象目標(biāo)選擇的問題
有個事很不解。我寫了一個<div>盒子元素,又在<div>盒子內(nèi)寫了個<a>標(biāo)簽。我想通過a標(biāo)簽onclick點擊事件來調(diào)用移動<div>盒子的函數(shù)代碼。可是試了好多次都不成功。函數(shù)代碼啥的都沒問題,因為到最后我直接把onclick點擊事件放在<div>上的時候(div.onclick=function(){移動div的代碼}),盒子成功移動了,代碼被完整執(zhí)行。這是怎么回事啊,難道我要移動某個元素,就只能針對該元素添加一個事件?沒這個道理啊
<script> ?????var?mymore=document.getElementById("more"); ?????var?box1?=?document.getElementById("box1");var?i=null; ?????function?startMove() ?????{var?box1?=?document.getElementById("box1"); ??????var????i=setInterval(function(){box1.style.left=box1.offsetLeft+1+"px"},10) ???????????????????????????????????????????????????? ?????} ??</script> ?? ??<body> ????<div?id="wrap"> ?????????<div?id="box1"?onclick="startMove()"> ??????????<a?type="button"?id="more"?href=""?onclick="startMove()">查看更多</a> ????????</div> ???</div> </body>
請忽略那個type=button。。。(我是實在沒辦了了隨便試了試)
如上,div a 標(biāo)簽都加了onclick點擊事件,然而,點a的時候毫無反應(yīng)(a元素被我定位在了div的右側(cè)外邊界,而div被左移隱藏起來了,跟本節(jié)課程類似。)所以理所應(yīng)當(dāng)?shù)淖龇ㄊ峭ㄟ^給a一個點擊事件來移動div讓div元素顯示??墒呛翢o卵用。于是我讓div元素右側(cè)露出一點寬度然后給div也加了相同的onclick事件。于是就發(fā)現(xiàn),點擊a元素沒有一點反應(yīng),但點擊div卻可以成功調(diào)用函數(shù),實現(xiàn)移動效果。
后來我又給被調(diào)用的函數(shù)加了個alert彈窗。發(fā)現(xiàn)點擊a的時候,alert彈窗成功出現(xiàn)(出現(xiàn)2次);點擊div的時候,alet彈窗出現(xiàn)一次,然后還是能夠成功移動。
所以我就搞不懂了。
2022-03-27
第8行換成window.close()就可以了,當(dāng)你關(guān)閉瀏覽器的時候會有提示框35/4=8......3,8%3=2.
2017-03-15
我試過了,可以啊
<style>
? ?*{
? ? ? ?margin:0;
? ? ? ?padding:0;
? ?}
? ?#box1{
? ? ? ?width: 200px;
? ? ? ?height: 200px;
? ? ? ?background: red;
? ? ? ?position: relative;
? ? ? ?left: 10px;
? ?}
? ?#more{
? ? ? ?background: blue;
? ?}
</style>
<script>
? ?var mymore=document.getElementById("more");
? ?var box1 = document.getElementById("box1");
? ?var i=null;
? ?function startMove()
? ?{var box1 = document.getElementById("box1");
? ? ? ?var i=setInterval(function(){box1.style.left=box1.offsetLeft+1+"px"},10)
? ?}
</script>
<body>
<div id="wrap">
? ?<div id="box1">
? ? ? ?<a id="more" href="#" onclick="startMove()">查看更多</a>
? ?</div>
</div>
</body>
2017-03-05
請忽略那個type=button。。。(我是實在沒辦了了隨便試了試)
如上,div a 標(biāo)簽都加了onclick點擊事件,然而,點a的時候毫無反應(yīng)(a元素被我定位在了div的右側(cè)外邊界,而div被左移隱藏起來了,跟本節(jié)課程類似。)所以理所應(yīng)當(dāng)?shù)淖龇ㄊ峭ㄟ^給a一個點擊事件來移動div讓div元素顯示??墒呛翢o卵用。于是我讓div元素右側(cè)露出一點寬度然后給div也加了相同的onclick事件。于是就發(fā)現(xiàn),點擊a元素沒有一點反應(yīng),但點擊div卻可以成功調(diào)用函數(shù),實現(xiàn)移動效果。
后來我又給被調(diào)用的函數(shù)加了個alert彈窗。發(fā)現(xiàn)點擊a的時候,alert彈窗成功出現(xiàn)(出現(xiàn)2次);點擊div的時候,alet彈窗出現(xiàn)一次,然后還是能夠成功移動。
所以我就搞不懂了。