摘要:會(huì)有頁(yè)面滾動(dòng)到頂部的效應(yīng)但是,如果使用了的方式,可以在標(biāo)簽的響應(yīng)事件里加上,或者來(lái)解決下頻繁彈出頁(yè)面離開提示的問(wèn)題
背景
在某些場(chǎng)景下,我們希望點(diǎn)擊a標(biāo)簽以后不做跳轉(zhuǎn),并且能響應(yīng)a標(biāo)簽綁定的事件,常見方法href設(shè)置javascript:;、#### 等,但經(jīng)測(cè)試發(fā)現(xiàn),這幾種方式在chrome,ie9上對(duì)onbeforeunload事件的觸發(fā)不一致,這里做個(gè)測(cè)試和總結(jié)。
示例代碼示例代碼里對(duì)幾種不同的方式在chrome,ie下作了測(cè)試。
-- chrome版本:版本 58.0.3029.110
-- ie版本:9.0.8112
結(jié)論
1.使用href="" 與使用href="#" 效果是一樣的,都會(huì)滾動(dòng)到頁(yè)面頂部
2.a標(biāo)簽不加href屬性,不會(huì)具有a標(biāo)簽的性質(zhì)(hover手形,下劃線),但可以用css加上標(biāo)簽的默認(rèn)樣式
3.對(duì)onbeforeunload的觸發(fā)情況:
chrome下,href="" 、href="tel"、href="mailto" 都會(huì)觸發(fā)onbeforeunload事件
ie下:javascript:void(0); javascript:; href="" 都會(huì)觸發(fā)onbeforeunload事件
so,
4.在希望點(diǎn)擊a標(biāo)簽以后不做跳轉(zhuǎn),并且能響應(yīng)a標(biāo)簽綁定的事件,而頁(yè)面綁定了onbeforeunload事件,href="####", 以及不設(shè)置href屬性這兩種方式是安全的。(href="#"會(huì)有頁(yè)面滾動(dòng)到頂部的效應(yīng))
5.但是,如果使用了javascript:;的方式,可以在a標(biāo)簽的響應(yīng)事件里加上,return false; 或者e.preventDefault() 來(lái)解決ie9下頻繁彈出頁(yè)面離開提示的問(wèn)題
Reference1.onebeforeunload is too enthusiastice in ie9 https://stackoverflow.com/que...
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/83526.html
摘要:事件事件在用戶退出頁(yè)面時(shí)發(fā)生。注意事件同樣觸發(fā)了頁(yè)面載入事件事件。如圖所示大體一句話描述和支持事件但是或者不支持該事件。瀏覽器兼容情況完美支持不支持文字提醒信息不支持如圖所示使用遇到的凡是標(biāo)簽都會(huì)觸發(fā)事件包括這種。 簡(jiǎn)介 onunload,onbeforeunload都是在刷新或關(guān)閉時(shí)調(diào)用,可以在腳本中通過(guò) window.onunload來(lái)調(diào)用。區(qū)別在于onbeforeunload在o...
摘要:與此同時(shí),我們獲得了回調(diào)函數(shù)的句柄,從而可以隨時(shí)從元素上移除相應(yīng)的事件監(jiān)聽。對(duì)象會(huì)被作為第一個(gè)參數(shù)傳遞給事件監(jiān)聽的回調(diào)函數(shù)。 Click、touch、load、drag、change、input、error、risize — 這些都是冗長(zhǎng)的DOM(文檔對(duì)象模型)事件列表的一部分。事件可以在文檔(Document)結(jié)構(gòu)的任何部分被觸發(fā),觸發(fā)者可以是用戶操作,也可以是瀏覽器本身。事件并不是...
摘要:所以有可能在所有腳本執(zhí)行完畢后觸發(fā)。如果用戶即將離開頁(yè)面或者關(guān)閉窗口時(shí),事件將會(huì)被觸發(fā)以進(jìn)行額外的確認(rèn)。狀態(tài)表示事件即將被觸發(fā)。總結(jié)頁(yè)面事件的生命周期事件在樹構(gòu)建完畢后被觸發(fā),我們可以在這個(gè)階段使用去訪問(wèn)元素。 頁(yè)面生命周期:DOMContentLoaded, load, beforeunload, unload 原文地址:http://javascript.info/onload.....
摘要:所以有可能在所有腳本執(zhí)行完畢后觸發(fā)。如果用戶即將離開頁(yè)面或者關(guān)閉窗口時(shí),事件將會(huì)被觸發(fā)以進(jìn)行額外的確認(rèn)。狀態(tài)表示事件即將被觸發(fā)。總結(jié)頁(yè)面事件的生命周期事件在樹構(gòu)建完畢后被觸發(fā),我們可以在這個(gè)階段使用去訪問(wèn)元素。 頁(yè)面生命周期:DOMContentLoaded, load, beforeunload, unload 原文地址:http://javascript.info/onload.....
閱讀 2472·2021-10-12 10:11
閱讀 1218·2021-10-11 10:58
閱讀 3258·2019-08-30 15:54
閱讀 696·2019-08-30 13:59
閱讀 667·2019-08-29 13:07
閱讀 1392·2019-08-26 11:55
閱讀 2133·2019-08-26 10:44
閱讀 2620·2019-08-23 18:25