web-dev-qa-db-ja.com

javascript EventListenerを強制的に1回実行しますか?

条件が真でなくても、javascriptイベントリスナーに強制的に実行させてから、条件が満たされるのをリッスンし続けてさらに実行することは可能でしょうか?

19
Skizit
var clickFunction = function (event) {
    //do some stuff here
    window.removeEventListener('click',clickFunction, false );

};
window.addEventListener("click", clickFunction, false);

これにより、クロージャの魔法によってremoveEventListenerがclickFunctionを検出できるため、clickFunctionを1回起動できます。

簡単なことをするためだけにライブラリを使用する必要はありません。

42
Jlam

コードを関数でラップする場合は、ページの読み込み時に関数を呼び出すだけです。

例を追加するために編集:

あなたのイベントが何であるかわからないが、ここに例があります:

<a ..onclick='someFunction()'>click</a>

<script type='text/javascript'>
function someFunction() {
  // do whatever
}

// call the function
someFunction();
</script>
0
Crayon Violent