我有一個按鈕,點擊時應該打開一個jQuery UI對話框。它可以在FF3,FF4,Chrome和IE8上使用ChromeFrame。它在正常的IE8中不起作用。我收到一個錯誤,簡單地說「需要對象」。以下是點擊呼叫的功能。jQuery IE8對象需要
function punchNonProd()
{
var HTML = "";
HTML += "<tr id='burdenLine'><td><strong>Description</strong></td><td><input class='ui-corner-all' type='text' id='diaNP' size='12'></td></tr>";
HTML += "<tr><td> </td><td><span class='button' onClick='sendPunch(\"NONPROD\", $(\"#diaNP\").val(), $(\"#loadedMech\").val());'>Use Description</span></td></tr>";
HTML += "</table>";
$("#dialogSmall").dialog("option", "title", 'Non-Billable Punch')
.html(HTML)
.dialog("option", "width", 800)
.dialog("open")
.dialog("option", "position", "center")
.dialog("option", "buttons", { "Kochtinuous": function() { punchKochImpr(); },
"Break": function() { sendPunch("NONPROD", "BREAK", $("#loadedMech").val(), isLeader); },
"Clean Up": function() { sendPunch("NONPROD", "CLEAN_UP", $("#loadedMech").val(), isLeader); },
"Huddle": function() { sendPunch("NONPROD", "HUDDLE", $("#loadedMech").val(), isLeader); },
"Meeting": function() { sendPunch("NONPROD", "MEETING", $("#loadedMech").val(), isLeader);} });
loadDefaults();
}
我使用jQuery UI 1.8.4和jQuery 1.4.2
在未壓縮的jQuery文件的4481行出現的錯誤。
UPDATE
我能弄清楚這個問題來自於命令$("#dialogSmall").html(HTML);
。我仍然試圖弄清楚爲什麼會發生這種情況。
.dialog()的多個實例是否跳過它?也許你可以嘗試將它們合併成一個。 – orolo 2010-10-05 20:12:15
@orolo我有其他地方有倍數,它可以毫無問題地處理它們。 – Jason 2010-10-05 20:16:44
您應該備份調用堆棧並查找代碼中的哪一行導致該問題。有些東西是null或未定義的消息,jQuery希望在那裏。 buttonset()是一個例如定義的方法嗎? – flatline 2010-10-05 20:32:06