僅Firefox中鏈接A無法實現(xiàn)模擬點擊以觸發(fā)其默認行為
更新時間:2011年07月31日 22:00:43 作者:
偶然發(fā)現(xiàn)之前寫的事件模塊在Firefox5中無法觸發(fā)A的默認行為了。IE/Opera/Firefox5中A具有click方法,因此模擬點擊直接調用click方法即可。
而標準的事件觸發(fā)可以使用dispatchEvent方法。但現(xiàn)在FF5無法觸發(fā)了A的默認行為了。如下
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Firefox5鏈接A無法實現(xiàn)模擬點擊bug</title>
</head>
<body>
<a id="a1" >新浪郵箱</a>
</body>
<script type="text/javascript">
function dispatch(el, type){
try{
var evt = document.createEvent('Event');
evt.initEvent(type,true,true);
el.dispatchEvent(evt);
}catch(e){alert(e)};
}
var a1 = document.getElementById('a1');
dispatch(a1, 'click');
</script>
</html>
鏈接A,使用dispatchEvent模擬點擊。測試在IE9/Safari/Chrome/Opera中均跳到了mail.sina.com.cn。唯獨Firefox5沒有跳過去。
由于Firefox5中給所有元素都添加了click方法(Firefox3沒有),因此用click方法測試下
<a id="a1" >新浪郵箱</a>
<script>
var a1 = document.getElementById('a1');
a1.click();
</script>
測試還是沒有跳到mail.sina.com.cn。
可見 Firefox中兩種方式都不能使其觸發(fā)鏈接A的默認行為。可能是Firefox安全機制禁止了客戶端程序員模擬A跳轉,呃..
注:貘用FF3測試效果同F(xiàn)F5。感謝..
復制代碼 代碼如下:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Firefox5鏈接A無法實現(xiàn)模擬點擊bug</title>
</head>
<body>
<a id="a1" >新浪郵箱</a>
</body>
<script type="text/javascript">
function dispatch(el, type){
try{
var evt = document.createEvent('Event');
evt.initEvent(type,true,true);
el.dispatchEvent(evt);
}catch(e){alert(e)};
}
var a1 = document.getElementById('a1');
dispatch(a1, 'click');
</script>
</html>
鏈接A,使用dispatchEvent模擬點擊。測試在IE9/Safari/Chrome/Opera中均跳到了mail.sina.com.cn。唯獨Firefox5沒有跳過去。
由于Firefox5中給所有元素都添加了click方法(Firefox3沒有),因此用click方法測試下
復制代碼 代碼如下:
<a id="a1" >新浪郵箱</a>
<script>
var a1 = document.getElementById('a1');
a1.click();
</script>
測試還是沒有跳到mail.sina.com.cn。
可見 Firefox中兩種方式都不能使其觸發(fā)鏈接A的默認行為。可能是Firefox安全機制禁止了客戶端程序員模擬A跳轉,呃..
注:貘用FF3測試效果同F(xiàn)F5。感謝..
相關文章
詳解基于javascript實現(xiàn)的蘋果系統(tǒng)底部菜單
本篇文章主要對基于javascript實現(xiàn)的蘋果系統(tǒng)底部菜單進行了詳細的分析說明,有助于理解和學習編寫蘋果系統(tǒng)底部菜單,相信會對大家有所幫助,下面就跟小編一起來看看吧2016-12-12