2010年6月17日 星期四

javascript事件event之target

這篇的話!就直接來看範例好了!

click click

var click = function(e){
alert(this.tagName);
}
document.getElementById("div").onclick = click;
document.getElementById("span").onclick = click;

在此範例內用了一個div包覆了一個span並給予click事件,

 span的部分利用position:absolute;並給z-index讓span壓在div之上! 

原本預定的結果是只點擊span只會觸發span的onclcik,

可是實驗證明了在這個狀態之下會觸發div及span的click

大家可以點上面的div及span就可以看到所述描的情形!

為了避免這種情形,可以利用event的target來做規避!

onclick的程式碼修正如下

結果:
click click
這樣就不會重覆觸發事件了!

不過這個解決方法在android的browser就破功了!

因為android的browser沒有target或者是srcElement的屬性啊~~~