は、私はJavaScriptを使用して、非常に新たなんだとイベントのうち、機能にアクセスすることは不可能:私はこの問題を理解していない
$(function() {
var $tab_title_input = $("#tab_title"),
$tab_content_input = $("#tab_content");
var tab_counter = 0;
var editors = {};
var tab_current = 0;
// tabs init with a custom tab template and an "add" callback filling in the content
var $tabs = $("#tabs").tabs({
tabTemplate: "<li><a href='#{href}'>#{label}</a> <span class='ui-icon ui-icon-close'>Remove Tab</span></li>",
add: function(event, ui) {
var tab_content = $tab_content_input.val() || "Tab " + tab_counter + " content.";
$(ui.panel).append("<div id=\"editor" + tab_counter + "\" class=\"editor\">" + tab_content + "</div>");
adjust_size();
tab_current = ui.index;
editors[tab_current] = ace.edit("editor" + tab_counter);
},
show: function(event, ui) {
adjust_size();
tab_current = ui.index; // zero-based index
editors[tab_current].resize();
},
select: function(event, ui) {
adjust_size();
tab_current = ui.index; // zero-based index
},
});
の問題は、このコード行:
editors[tab_current].resize();
は、Uncaught TypeError: Cannot call method 'resize' of undefined
を伝えるすべてを破ります。
しかし、編集者editors[tab_current].resize()
はaddイベントでよく定義されており、alert(tab_current)
は私に正しい結果を与えます。
はい、それはとてもまたは類似:最初の時間は、それが –
は明らかにそれが適切にあなたがそれを呼び出すために行く最初の時間を設定しません未定義が、その後、[オブジェクトのオブジェクト]と、それが適切に設定されているように見える(それが動作)と言います。実行時にコードをトレースして理由を調べます。 – Polynomial
どうすればいいですか?クロムのコンソールは何も情報を与えていない –