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

js模擬點擊以提交表單為例兼容主流瀏覽器

 更新時間:2013年11月29日 16:11:03   作者:  
我們會常常用到JS的模事件,比如說點擊事件,舉個簡單的例子,點擊表單外的“提交”按鈕來提交表單,下面為大家介紹下具體的實現(xiàn)
在實際的應用開發(fā)中,我們會常常用到JS的模事件,但有時會遇到一些問題,比如說點擊事件,舉個簡單的例子,點擊表單外的“提交”按鈕來提交表單。上代碼吧。

Html:
復制代碼 代碼如下:

<h3>請單擊“提交”,測試提交按鈕的單擊事件也被觸發(fā)了。</h3>
<button id="btn">提交</button>
<form action="#" method="get" id="form">
<input type="text" name="site" value="www.woiweb.net" readonly/>
<input id="subbtn" type="submit" value="先別點擊此按鈕提交" onclick="alert('我已經(jīng)提交了');"/>
</form>

Javscript:
復制代碼 代碼如下:

<script type="text/javascript">
var sub = document.getElementById("subbtn");
var btn = document.getElementById("btn");
//通用方法
btn.onclick = function() {
sub.click();
}
</script>

經(jīng)過測試,IE,F(xiàn)F,Chrome,Opera,Safari都沒有問題,均可正常提交表單。

但在實際的設(shè)計中,為了讓提交按鈕更好看,buildder經(jīng)常把它們用a標簽來處理,加個背景圖片來模擬按鈕,我們?nèi)匀挥蒙厦娴乃悸穪韲L試,增加一個a標簽,讓它來提交表單,我們僅修改html。

Html:
復制代碼 代碼如下:

<h3>請單擊“提交”,測試提交按鈕的單擊事件也被觸發(fā)了。</h3>
<button id="btn">提交</button>
<form action="#" method="get" id="form">
<input type="text" name="site" value="www.woiweb.net" readonly/>
<!--<input id="subbtn" type="submit" value="先別點擊此按鈕提交" onclick="alert('我已經(jīng)提交了');"/> -->
<a id="subbtn" href="javascript:;" onclick="alert('在此調(diào)用提交表單的方法')">模擬提交按鈕</a>
</form>

Javascript:
復制代碼 代碼如下:

<script type="text/javascript">
var sub = document.getElementById("subbtn");
var btn = document.getElementById("btn");
//通用方法
btn.onclick = function() {
sub.click();
}
</script>

運行后,問題出現(xiàn)了,IE、FF、Opera均OK,但Chrome和Safari不能正常運行,后來網(wǎng)上搜索了下,發(fā)現(xiàn)a標簽并不是和按鈕一樣有onclick()事件的,解決辦法是針對 IE 和 FF編寫不同的邏輯,JS代碼如下:
javascript:
復制代碼 代碼如下:

<script type="text/javascript">
var sub = document.getElementById("subbtn");
var btn = document.getElementById("btn");
//通用方法
btn.onclick = function() {
//sub.click();
if (/msie/i.test(navigator.userAgent)) //IE
{
sub.fireEvent("onclick");
} else {
var e = document.createEvent('MouseEvent');
e.initEvent('click', false, false);
sub.dispatchEvent(e);
}
}
</script>

至此,問題解決,雖然這個問題很簡單,但很容易被大家忽略,貼出來和大家一起分享。

語法:

createEvent(eventType)

參數(shù)   描述

eventType 想獲取的 Event 對象的事件模塊名。關(guān)于有效的事件類型列表,請參閱”說明”部分。

返回值

返回新創(chuàng)建的 Event 對象,具有指定的類型。

拋出

如果實現(xiàn)支持需要的事件類型,該方法將拋出代碼為 NOT_SUPPORTED_ERR 的 DOMException 異常。

說明

該方法將創(chuàng)建一種新的事件類型,該類型由參數(shù) eventType 指定。注意,該參數(shù)的值不是要創(chuàng)建的事件接口的名稱,而是定義那個接口的 DOM 模塊的名稱。

下表列出了 eventType 的合法值和每個值創(chuàng)建的事件接口:

參數(shù)      事件接口  初始化方法
HTMLEvents  HTMLEvent iniEvent()
MouseEvents  MouseEvent iniMouseEvent()
UIEvents    UIEvent  iniUIEvent()

用該方法創(chuàng)建了 Event 對象以后,必須用上表中所示的初始化方法初始化對象。關(guān)于初始化方法的詳細信息,請參閱 Event 對象參考。

該方法實際上不是由 Document 接口定義的,而是由 DocumentEvent 接口定義的。如果一個實現(xiàn)支持 Event 模塊,那么 Document 對象就會實現(xiàn) DocumentEvent 接口并支持該方法。

相關(guān)文章

  • 再談Javascript中的異步以及如何異步

    再談Javascript中的異步以及如何異步

    大家都知道js是單線程的,執(zhí)行起來是順序的,在順序的業(yè)務邏輯中當然沒有問題,如果遇到可以并發(fā)執(zhí)行的業(yè)務邏輯,再排隊就很低級了!所以這里我們再來簡單的談談JS中的異步以及如何異步。
    2016-08-08
  • JS變量中有var定義和無var定義的區(qū)別以及es6中l(wèi)et命令和const命令

    JS變量中有var定義和無var定義的區(qū)別以及es6中l(wèi)et命令和const命令

    這篇文章主要介紹了JS變量中有var定義和無var定義的區(qū)別以及es6中l(wèi)et命令和const命令,需要的朋友可以參考下
    2017-02-02
  • Javascript Request獲取請求參數(shù)如何實現(xiàn)

    Javascript Request獲取請求參數(shù)如何實現(xiàn)

    使用Javascript Request獲取參數(shù)的時候總是提示出錯,本文為此問題提供詳細的解決方案,需要了解的朋友可以參考下
    2012-11-11
  • javascript 應用小技巧方法匯總

    javascript 應用小技巧方法匯總

    這篇文章主要介紹了javascript 應用小技巧方法匯總的相關(guān)資料,需要的朋友可以參考下
    2015-07-07
  • 淺談小程序globalData的那些事兒

    淺談小程序globalData的那些事兒

    這篇文章主要介紹了淺談小程序globalData的那些事兒,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-11-11
  • JavaScript導出CSV文件不完整的問題解決方法

    JavaScript導出CSV文件不完整的問題解決方法

    在JavaScript中處理CSV文件時,需要特別注意一些特殊字符,例如逗號、雙引號、換行符等,這些字符可能會影響CSV文件的解析,導致數(shù)據(jù)錯亂,所以本文給大家介紹了如何解決JavaScript導出CSV文件不完整的問題,需要的朋友可以參考下
    2024-06-06
  • JavaScript中push(),join() 函數(shù) 實例詳解

    JavaScript中push(),join() 函數(shù) 實例詳解

    本文通過實例給大家介紹了JavaScript中push(),join() 的知識,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-09-09
  • 細說webpack源碼之compile流程-rules參數(shù)處理技巧(1)

    細說webpack源碼之compile流程-rules參數(shù)處理技巧(1)

    webpack作為一種流行的打包工具被廣泛應用在web項目的前端工程化構(gòu)建中。下面通過本文給大家介紹webpack源碼之compile流程-rules參數(shù)處理技巧,感興趣的朋友一起看看吧
    2017-12-12
  • 微信小程序?qū)崿F(xiàn)下拉篩選功能

    微信小程序?qū)崿F(xiàn)下拉篩選功能

    這篇文章主要為大家詳細介紹了微信小程序?qū)崿F(xiàn)下拉篩選功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • 全面解讀TypeScript和JavaScript的區(qū)別

    全面解讀TypeScript和JavaScript的區(qū)別

    TypeScript和JavaScript是目前項目開發(fā)中較為流行的兩種腳本語言, TypeScript是JavaScript的一個超集,JavaScript是一種輕量級的解釋性腳本語言,本文主要介紹了兩者區(qū)別,感興趣的可以了解一下
    2023-09-09

最新評論

贺州市| 竹北市| 武威市| 花莲市| 靖边县| 浦东新区| 平果县| 连州市| 阳原县| 衡阳市| 新竹县| 福泉市| 廉江市| 天柱县| 宁明县| 桃江县| 霍山县| 汕头市| 巴青县| 安顺市| 吉首市| 曲沃县| 黄陵县| 黄冈市| 大悟县| 林口县| 海晏县| 孝感市| 阜平县| 中江县| 鸡西市| 纳雍县| 建瓯市| 香港| 左权县| 绥阳县| 宁安市| 北碚区| 宁夏| 屏边| 武定县|