我在加載HTML對話框上單擊jQuery的對話框無法看到全局變量
$("button").live('click', function() {
var $div = $('<div title="Form"></div>');
$div.load('test.html #formModal').dialog({
width: 900,
height: 500
})
})
按鈕時#formModal的HTML看起來像
<form id="form">
<input id="input1" type="button" />
<input ...
</form>
<p id="formEdit"></p>
此時HTML是成功加載對話框
我也有以下內容,當點擊裏面的對話框#input1
時,它會在0內插入文本。
var $form = $('#form'); // global variable
var $formedit = $('#formEdit'); // global variable
$form.find('#input1').live('click', function(){
$formedit.text('test'); //if i do $('#formEdit') instead of $formedit then it works
})
$formedit
在這裏不起作用。它沒有被傳遞給點擊處理程序。它工作正常,如果HTML最初是在body
而不是使用load()
加載對話框。這是什麼造成的。
@mu'$( '#formEdit')'的作品,但不是'$ formedit'。這告訴我,$ formedit正在被傳入。 – Pinkie 2011-04-15 02:30:02
@mu' $ formedit'如果我的HTML最初存在於DOM中,則工作正常。但是因爲我在對話框中加載內容,它不再有效。我必須執行$('#formEdit')才能使其工作。 – Pinkie 2011-04-15 02:34:36