1. 程式人生 > >addEventListener只執行一次即銷燬(已相容)

addEventListener只執行一次即銷燬(已相容)

/**
*只執行一次函式
*相容各種瀏覽器
**/
var obj = document.querySelector("button");

    handler = function(){
        alert(this.tagName);
        if (obj.removeEventListener){
            obj.removeEventListener("click",handler,false);
        } else {
            // ie8及以下,只支援事件冒泡
            obj.detachEvent("onclick"
,handler); } }; if (obj.addEventListener) { obj.addEventListener("click",handler,false); } else { // ie8及以下,只支援事件冒泡 obj.attachEvent("onclick",handler); }

相關推薦

addEventListener執行銷燬(相容)

/** *只執行一次函式 *相容各種瀏覽器 **/ var obj = document.querySelector("button"); handler = function(){

once方法實現(函數執行)

{} bsp turn pro fault nts color this prot var once = (function(){ var memo = {},i = 0; return function(fn){ for(var k in

關於解決多接收相同條件,如何執行if條件語句的簡單問題

  public class FacesSet { private static FacesSet instance = null; private Set<String> faceNames = new HashSet<String>();

如何讓python unittest.TestCase的類下的setUp和tearDown執行

轉自:https://www.cnblogs.com/UncleYong/p/7076872.html 知道unittest單元測試框架的朋友應該都知道, 執行繼承了unittest.TestCase的類下每個test開頭的方法(就是用例)時,都會執行setUp和tearDown,如下面的例

[轉]使用互斥物件讓程式執行(delphi)

使用互斥物件讓程式只執行一次“怎麼讓我的程式在執行時不能重複開啟?”經常在論壇上看到有朋友問這方面的問題。本文將比較詳細的說明這一問題,並給出一個較為完善的解決方案。 儘管這已經不是一個新問題了,但這裡還是簡要的說明一下這種技術:這的確是一個相當有用的技術,可能你經常會注意到相當多的程式在執行之後當你再次點

關於 C#呼叫C庫Dll,有回撥函式時,執行回撥函式就直接掛掉 的解決方法

錯誤         直接當機,如下圖:           錯誤原因        回撥函式宣告原因,跟堆疊有關係  

pt-heartbeat --update --daemonize 執行秒退的問題

you 參數 程序退出 sam remove exitcode working previous wan 使用pt-heartbeat幫助測試MySQL從庫delay時長- 第一次運行測試成功,運行順暢。 過幾天再次用--update測試時,發現pt-heartbeat只u

innerHTML在for迴圈裡“執行”的問題(本人小白枚)

今天在w3school裡系統學習JS的知識時,看到一個TIY,原本程式碼如下:  <!DOCTYPE html> <html> <body> <p>點選下面的按鈕,將程式碼塊迴圈五次:</p> <butto

重複的資料處理,並執行

​​​​​平時程式設計師在獲取資料時,經常會遇到獲取到一堆相同的資料,而且一直在重複的執行同一條程式碼;這時我們都會試著插入判斷條件來控制執行程式碼,通過判斷來篩選(重複的資料只執行一次) 比如:in

一個執行的once函式

 一個只執行一次的函式(最優解在下面) function once(func) { var ran, result; if (!isFunction(func)) { throw new TypeError(funcErro

loadrunner如何設定所有虛擬使用者執行指令碼?

1,設定所有虛擬使用者只執行一次指令碼 進入場景conroller,如下圖設定。初始化和啟動Vuser設定都可以,看具體要求,但持續時間一定要選擇“完成前一直執行”,這樣設定就可以讓所有Vuser只執行一次指令碼。 2,設定所有虛擬使用者同一時刻執行指令碼且只執行一次 當然,虛擬使

在JUnit中多個testCase執行setup和tearDown的方法

這個問題出現在這種情況,你的每個testCase都需要使用某一種初始化比較耗時的物件(資源),舉例如資料庫連線、Spring Context。我們遇到的問題是Selenium測試中開啟和關閉瀏覽器,如果一個test啟動關閉(我們的程式還需要登入和登出),這樣測試的時間會拖的很

4.5-1 併發技術6:執行

sync.Once概述 sync包下的Once物件可以保證某個函式在多工併發過程中只被執行一次 var once sync.Once once.Do(task()) 案例 下面的案例中,我們開闢10條協程一起追殺比爾,但保證比爾只被殺死一次 即Kill(b

分散式環境下定時任務如何做到執行

問題: 對於一個部署在多臺機器上的應用,程式執行時,如何保證多個機器上的定時任務只有一個機器上的任務被執行? 思路:對於每一個定時任務job都有一個唯一id,當發現改job處於執行狀態時,其他機器都不會去排程這個job quartz的分散式解決方案

執行的事件one(“事件名”,function(){}) 和可多執行的事件bind(“事件名”,function(){})

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xh

Vue 如何在頁面渲染完後去操作dom,而且執行

在介面請求成功的回撥裡使用 this.$nextTick(() =>{ // 在這裡面去獲取DOM })。 在mounted生命週期,元件掛載成功,但還未渲染,自然獲取不到相關的DOM節點。看你資料好像不是前端,舉個更簡單的例子,你在html中,把 consol

高併發時讓某段程式碼執行的方法

一個網友的問題。在一個WEB工程中使用了 struts 現在有這麼一個要求: 某個 Action 中的一段程式碼要在一個特定的時間(該特定時間是可以設定的)只執行一次.該段程式碼以外的程式碼每次都要執行.且該 Action 是被高併發訪問的.所以我不能使用 : synch

quartz定時任務實現執行,以後不再執行

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:mvc="http://www.springframework.org/schem

css3 使用animation 執行然後停留在執行後的狀態

 -webkit-animation:'index' 5s ease-in-out 0s 1 alternate forwards; forwards:當動畫完成後,保持最後一個屬性值(在最後一個關鍵幀中定義)。 @-webkit-keyframes 'index'{  

C#控制方法執行

 private static bool b;  protected void Page_Load(object sender, EventArgs e)         {             if (!IsPostBack)             {