...或者爲什麼$(this).dialog()
在使用動態HTML時在Firefox中失敗?
我有一個點擊事件,在網頁上打開一個jQuery模式對話框,並且它在Chrome和IE中工作正常,但在Firefox中無法正常工作。
下面是相關的代碼:
var dialogId = 'uniqueName-' + Math.floor(Math.random() * 1000)
var dialogDiv = $(document.createElement('div')).attr("id", dialogId);
dialogDiv.load(this.href, function() {
var dialog = $(this).dialog({ autoOpen: false });
...
});
在Firefox 11,$(this).dialog({ autoOpen: false })
失敗,出現以下錯誤消息:
$(本).dialog不是函數
但在IE 9中,Chrome 17的一切工作正常。任何線索爲什麼是這樣?
UPDATE:
這裏是我的document.ready
函數,其中上面的代碼了。我刪除它來簡化事情。 ALERT A在ALERT B之前發生。ALERT A表示[object Object]
。 ALERT B發生在我點擊一個鏈接時,它說'undefined'
。
$(function() {
alert($.ui); // ALERT A
// Wire up the click event of any dialog links
$('.dialogLink').live('click', function() {
alert($.ui); // ALERT B
return false;
});
});
更新2:
現在我銷指出問題出在哪裏來臨從我轉述我的問題,並張貼最小代碼重現原來的問題就在這裏:Why is FF on OS X losing jQuery-UI in click event handler?
你可以使用console.log或簡單的警報來檢查jquery是否工作正常嗎?此外,如果它的jQuery UI,使用螢火蟲來檢查它是否加載ff罰款! – 2012-03-27 04:53:11
@MarshallMathews:jQuery工作正常,因爲dialogDiv用$(document.createElement('div'))。attr(「id」,dialogId)正確初始化。我用螢火蟲檢查了這個。你將如何去檢查jQuery-UI是否可以用Firebug加載? – 2012-03-27 17:21:20
'console.log(「這解釋了對話方法:」+ $ .ui.dialog)'如果爲false,那麼UI可能沒有加載正確 – 2012-03-27 18:16:10