我有我的佈局頁頭一個jQuery插件:的Javascript靜態變量,並使用不同的頁面
<script src="@Url.Content("~/Scripts/js/kendo.web.min.js")"></script>
<script src="@Url.Content("~/Scripts/app/jsCommon.js")"></script>
<script src="@Url.Content("~/Scripts/app/Layout.js")"></script>
和我layout.js:
(function ($) {
var Layout = function (node, options) {
this.node = node;
this.options = $.extend({
url: ""
}, options);
$(this.node).find('.HButton').bind('click', $.proxy(this.HButtonClicked, this));
};
Layout.prototype = {
constructor: Layout,
_loadBackground: function() {
debugger;
//load second now 'Common.currentTarget' have been lost
$(Common.currentTarget).removeClass();
$(Common.currentTarget).addClass(".HButton_Selected");
},
HButtonClicked: function (e) {
debugger;
//load first
Common.currentTarget = e.currentTarget;
}
}
$.fn.Layout = function (options) {
return this.each(function() {
$(this).data('Layout', new Layout(this, options));
});
};
}(jQuery));
在另一邊,我有一個份額存儲庫JavaScript對象是這樣的:
function common() {
}
common.currentTarget = null;
var Common = new common();
然後在其他頁面我觸發瞭如下事件:
<script>
$(document).ready(function() {
var layout = $("#layout").data("Layout");
$(layout).trigger("_loadBackground")
});
</script>
當HButton元素點擊發生在第一個我寫的對象裏面的「Common.currentTarget」,它保存成功的時候,我觀察的變量,但是當另一個頁面加載完全然後觸發事件「_loadBackground」「Common.currentTarget」的值已經丟失,我的問題是我如何定義一個像這樣的靜態變量在我的整個頁面中是永久的?
您希望變量在更改頁面後保持填充狀態嗎?如果是這樣,你將不得不把它放入某種存儲器中。 –