私は自己呼び出しのjavascriptファイルを持っており、私はonClickイベントでmoduleIDを取得しようとしています。jQuery自己呼び出し関数は変数にアクセスできませんか?
私はここで間違っていますか?注意すべきもう一つは、私はこれらのファイルのいくつかが「ウィジェット」としてすべて含まれていることです。上記の変数宣言をグローバルにすると、moduleID変数を宣言している他のウィジェットと干渉することになるのでしょうか?
$(function() {
// Define our vars
var moduleID = 4,
output = '';
... Some more stuff ...
});
//Listen for button click
$('[name=adminSearchGo]').click(function() {
alert(moduleID); // No Access
});
質問での機能は '.ready()'を呼び出します。 IIFE。 'moduleID'は' .ready() 'ハンドラ内で利用できます – guest271314
異なるスコープのためにアクセスすることはできません。しかし、もし 'moduleID'を要素自体(' data-module-id = "4" ')で保てるなら、' $(this).data( 'module-id') 'または'$(this).attr( 'data-module-id')'となります。 –
または、あなたの 'moduleID'が定義されている前の関数の中で、クリックイベント(' $( '[name = adminSearchGo]')をクリックします) –