欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

很久都沒有寫關于代碼方面的文章了。主要原因還是因為最近的工作都集中在需求分析方面,沒有了現(xià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í)行順序,紅色代表頁面腳本跳轉的頁面,藍色是Anchor標簽的href屬性。從上面可以看出,對于FireFox,始終先執(zhí)行頁面腳本,然后瀏覽器再跳轉。而IE里面執(zhí)行的過程卻有差別:
1、使用后退按鈕直接回到a.htm,即頁面只執(zhí)行了一個跳轉;
2、在使用alert中斷的情況下,onmouseup執(zhí)行了頁面腳本中的跳轉。

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

為了更加明確2中的執(zhí)行順序,我們繼續(xù)分析onclick和href的執(zhí)行順序關系。在上述例子中,onclick是采用調入的方式執(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)象?

相關文章

  • js a標簽點擊事件

    js a標簽點擊事件

    本文將詳細介紹a標簽上的點擊事件的相關知識。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-03-03
  • JavaScript 檢測文件的類型的方法

    JavaScript 檢測文件的類型的方法

    在日常工作中,文件上傳是一個很常見的功能。在某些情況下,我們希望能限制文件上傳的類型,比如限制只能上傳 PNG 格式的圖片。本文就將針對這個問題,來講解如何檢測文件的類型
    2021-05-05
  • JS 組件系列之BootstrapTable的treegrid功能

    JS 組件系列之BootstrapTable的treegrid功能

    這篇文章主要介紹了JS 組件系列之BootstrapTable的treegrid功能,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-06-06
  • JS實現(xiàn)電商商品展示放大鏡特效

    JS實現(xiàn)電商商品展示放大鏡特效

    這篇文章主要為大家詳細介紹了JS實現(xiàn)電商商品展示放大鏡特效,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-01-01
  • web前端頁面生成exe可執(zhí)行文件的方法

    web前端頁面生成exe可執(zhí)行文件的方法

    這篇文章給大家介紹了Electron 怎么將網頁打包成桌面應用(web前端頁面怎么生成exe可執(zhí)行文件),感興趣的朋友跟隨腳本之家小編一起學習吧
    2018-02-02
  • echarts餅圖labelLine線的長度自適應設置

    echarts餅圖labelLine線的長度自適應設置

    這篇文章主要給大家介紹了關于echarts餅圖labelLine線的長度自適應設置的相關資料,在echarts中,餅圖的標簽線可以通過設置 labelLine屬性來自定義位置,需要的朋友可以參考下
    2023-08-08
  • CSS+Js遮罩效果的TAB及焦點圖片切換(推薦)

    CSS+Js遮罩效果的TAB及焦點圖片切換(推薦)

    CSS+Js圖片切換技術,類似的已有不少了,這一個使用了遮罩過渡的效果,同樣應用到了TAB選項卡上,本頁面僅是為了演示,大家用時候把它拆分開來,這個效果也對學習圖片效果制作很有幫助。
    2009-11-11
  • 細說JavaScript中的變量,作用域和垃圾回收

    細說JavaScript中的變量,作用域和垃圾回收

    這篇文章主要和大家介紹一下JavaScript中的變量,作用域和垃圾回收的定義與使用,文中的示例代碼講解詳細,對我們學習JavaScript有一定的幫助,需要的可以參考一下
    2022-11-11
  • 關于uniapp的request封裝保姆級教程

    關于uniapp的request封裝保姆級教程

    這篇文章主要給大家介紹了關于uniapp的request封裝保姆級教程,request是基于uni-app框架封裝的一個網絡請求庫,可以用于發(fā)送http請求和處理響應數據,需要的朋友可以參考下
    2023-07-07
  • 用js怎么把&字符換成"&amp:"

    用js怎么把&字符換成"&amp:"

    用js怎么把&字符換成"&amp:"...
    2006-10-10

最新評論