国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

解讀IE和firefox下JScript和HREF的執行順序

2024-05-06 14:18:34
字體:
來源:轉載
供稿:網友

很久都沒有寫關于代碼方面的文章了。主要原因還是因為最近的工作都集中在需求分析方面,沒有了現實中的感觸,就沒有了寫作的動機。討論一個關于JScript執行順序的問題。示例代碼如下:
a.htm
<A onmouseup="func('onmouseup')" href="b.htm">Click Me!</A> <A onclick="func2('onclick')" href="d.htm">Click Me!</A> <SPAN id=msg></SPAN>
<SCRIPT>
function func(str)
{
  msg(str);
  window.location.href="c.htm";
}
function msg(str)
{
  document.getElementById("msg").innerText=str;  //A
  //alert(str);                                  //B
}
function func2(str)
{
  msg(str);
  window.location.href="e.htm";
}
</SCRIPT>
在msg(str)有個注釋掉的行,試驗的時候分別執行A和B。

  A B
 onmouseup onclick onmouseuponclick 
 IE b.htm d.htm c.htmd.htm 
 FireFox c.htm->b.htm e.htm->d.htm c.htm->b.htme.htm->d.htm 

上表主要列出了兩個瀏覽器中的執行順序,紅色代表頁面腳本跳轉的頁面,藍色是Anchor標簽的href屬性。從上面可以看出,對于FireFox,始終先執行頁面腳本,然后瀏覽器再跳轉。而IE里面執行的過程卻有差別:
1、使用后退按鈕直接回到a.htm,即頁面只執行了一個跳轉;
2、在使用alert中斷的情況下,onmouseup執行了頁面腳本中的跳轉。

從上可以看出,
1、對于FireFox而言,頁面腳本執行順序始終優先于瀏覽器內嵌腳本執行順序,這個已經很明顯了。
2、IE中,HREF的執行順序為onmouseup->href->onclick。真的嗎?

為了更加明確2中的執行順序,我們繼續分析onclick和href的執行順序關系。在上述例子中,onclick是采用調入的方式執行的。如果a. 我們使用以下的測試代碼:
<a href="d.htm" onclick="return false;">Click Me!</a>
發現HREF不能被執行。
b. 如果我們使用以下測試代碼:
<a href="d.htm" onclick="window.location.href='e.htm';return false;">Click Me!</a>
發現依舊執行HREF的d.htm,而不是onclick中的e.htm。
c. 如果我們使用以下測試代碼:
<a href="d.htm" onclick="msg('onclick');return false;">Click Me!</a>( function msg()的代碼如上)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 焦作市| 余江县| 安远县| 宁晋县| 西乡县| 马龙县| 高安市| 万荣县| 团风县| 安平县| 黑龙江省| 柳林县| 儋州市| 永年县| 嘉义县| 噶尔县| 新化县| 池州市| 奉化市| 丹寨县| 余庆县| 安庆市| 石渠县| 杭锦后旗| 灵台县| 德惠市| 双峰县| 南漳县| 绵阳市| 永福县| 临桂县| 洪雅县| 大足县| 沁源县| 临潭县| 玉环县| 土默特右旗| 莱西市| 凌海市| 固镇县| 浮山县|