JavaScriptでモジュールパターンを使用しているので、コード内のグローバル変数の数を減らすため、JavaScriptでの悪い習慣とみなされます。変数の中で関数を呼び出す方法は?
例えば、私は入力から電子メールを検証するために、この単純な機能を持っている:
var checkEmail = (function() {
var userEmail = document.getElementById('contactEmail'),
emailRegEx = /^[A-Z0-9._%+-][email protected][A-Z0-9.-]+\.[A-Z]{2,4}$/i;
function validateEmail() {
if (userEmail.value.search(emailRegEx) === -1) {
console.log('Invalid email!');
return false;
} else {
console.log('Correct!');
}
}
userEmail.addEventListener('keyup', validateEmail);
})();
どのように私は、この関数を呼び出すことができますか?
を助け、あなたはすべてのエラーを見ている、あなたが既にあなたが使用している、「どのように私は、この関数を呼び出すことができますか?」のaddEventListener – brk
でそれを呼び出しているようです既にそれ自身を呼び出すIIFE(即座に呼び出された関数式)。あなたは何も返さないので、 'checkEmail'は' undefined'になります。 – A1rPun
私はOPが 'validateEmail'関数を呼び出そうと思っています。最も簡単な方法は、 'userEmail'オブジェクトで' keyup'イベントをトリガーすることです。 –