最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解讀IE和firefox下JScript和HREF的執(zhí)行順序

 更新時間:2008年01月12日 15:08:43   作者:  
解讀IE和firefox下JScript和HREF的執(zhí)行順序

很久都沒有寫關(guān)于代碼方面的文章了。主要原因還是因為最近的工作都集中在需求分析方面,沒有了現(xiàn)實中的感觸,就沒有了寫作的動機。討論一個關(guān)于JScript執(zhí)行順序的問題。示例代碼如下:
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)有個注釋掉的行,試驗的時候分別執(zhí)行A和B。

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

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

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

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

暈了。IE的確是個詭異的東西。誰能幫忙解釋一下b例中的現(xiàn)象?

相關(guān)文章

最新評論

咸丰县| 工布江达县| 金昌市| 潞西市| 开化县| 聂荣县| 静安区| 砀山县| 余干县| 仁怀市| 双柏县| 甘肃省| 高陵县| 龙南县| 建阳市| 襄垣县| 铁岭县| 大港区| 白朗县| 邹城市| 浮梁县| 邯郸市| 东乡族自治县| 莱西市| 彩票| 黔江区| 沙洋县| 公主岭市| 成都市| 永济市| 西昌市| 宜城市| 怀安县| 江油市| 当雄县| 安塞县| 鲜城| 栖霞市| 喜德县| 宣威市| 和顺县|