Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

JavaScriptの外部関数の内側からリスナーを削除しますか?


外部関数からリスナーを削除するには、removeEventListener()を使用します。

以下はコードです-

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<link rel="stylesheet"
href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<body>
<button id="demo">Press Me</button>
</body>
<script>
   var demoId = document.getElementById('demo');
   demoId.addEventListener('click', function fun() {
      outerFunction(this, fun);
   }, false);
   function outerFunction(self, funct) {
      console.log('outer function is called....');
      self.removeEventListener('click', funct, false);
      console.log("Listener has been removed...")
   }
</script>
</html>

上記のプログラムを実行するには、ファイル名anyName.html(index.html)を保存し、ファイルを右クリックします。 VSCodeEditorで[ライブサーバーで開く]オプションを選択します。

出力

これにより、次の出力が生成されます-

JavaScriptの外部関数の内側からリスナーを削除しますか?

「PressMe」ボタンをクリックした後。

これにより、コンソールに次の出力が生成されます-

JavaScriptの外部関数の内側からリスナーを削除しますか?


  1. HTMLファイルがソースモジュールからJavaScript関数を見つけられないのはなぜですか?

    これは、「export」ステートメントを使用していない場合に発生する可能性があります。スクリプトファイルにインポートされる関数の前に「エクスポート」を使用します。 JavaScriptファイルは次のとおりで、emo.jsという名前のファイルがあります。 demo.js console.log("function will import"); export function test(){    console.log("Imported!!!"); } 上記の関数をインポートする「index.html」ファイルは次のとおりで

  2. JavaScriptで変数に関数を割り当てますか?

    returnステートメントを使用して、関数を変数に割り当てます。以下はコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initialscale=1.0"> <title>Document</title> <link rel=&quo