JavaScript と jQuery を使用して、セレクターをオブジェクト プロパティにキャッシュしようとしています。
に保存$("#dnsTitle")
しますzPanelDNS.cache.dnsTitleId
ただし、私のzPanelDNS.events
関数では、Selector と Cached バージョンを使用しようとしている場所を確認できます。
何らかの理由で、キャッシュされたバージョンが思ったように機能しません。両方のセレクターをコンソールログに書き込み、両方ともターゲット要素を見つけますが、何らかの理由でキャッシュされたバージョンが機能しません。
2 のコンソールの出力は次のとおりです。わずかに異なることがわかります...
$("#dnsTitle")
作品=
[div#dnsTitle.account accountTitle, context: document, selector: "#dnsTitle", jquery: "1.9.1", constructor: function, init: function…]
zPanelDNS.cache.dnsTitleId
機能しません=
[context: document, selector: "#dnsTitle", jquery: "1.9.1", constructor: function, init: function…]
JavaScript...
var panelDNS = {
unsavedChanges: false,
init: function () {
panelDNS.events();
},
cache: {
dnsTitleId: $("#dnsTitle"),
translation: {
absolute: 0,
relative: 0,
sinceDirectionChange: 0,
percentage: 0
}
},
events: function() {
// Activate SAVE and UNDO Buttons when Record Row EDITED
$(document).on("keydown", "#dnsRecords input" ,function() {
// Using Selector
// DOES WORK
$("#dnsTitle").find(".save, .undo").removeClass("disabled");
console.log($("#dnsTitle"));
// Using Cached Selector panelDNS.cache.dnsTitleId
// DOES NOT WORK
//panelDNS.cache.dnsTitleId.find(".save, .undo").removeClass("disabled");
console.log(panelDNS.cache.dnsTitleId);
});
}
}
$(function(){
panelDNS.init();
});