是否可以在JavaScript對象上創建屬性,該對象的行爲與C#中的屬性類似。創建類似C#屬性的javascript屬性
示例: 我已經使用dojo創建了自動調整大小的textarea小部件。爲了從我的小部件中獲得「value」屬性,我已經連接到了onchange事件,並且每次textarea的值發生變化時我都會設置一個變量。
有沒有辦法做到這一點,而無需掛鉤onchange事件。
編輯
換句話說,就是可以使用JavaScript編寫的東西,行爲像getter和/或setter方法。
是否可以在JavaScript對象上創建屬性,該對象的行爲與C#中的屬性類似。創建類似C#屬性的javascript屬性
示例: 我已經使用dojo創建了自動調整大小的textarea小部件。爲了從我的小部件中獲得「value」屬性,我已經連接到了onchange事件,並且每次textarea的值發生變化時我都會設置一個變量。
有沒有辦法做到這一點,而無需掛鉤onchange事件。
編輯
換句話說,就是可以使用JavaScript編寫的東西,行爲像getter和/或setter方法。
有可能在ECMAScript中5的實施,其中包括recent versions of all major browsers。 ECMAScript 5規範增加了標準化的getter和setter。其中一個怪癖是IE 8具有此功能,但僅限於DOM節點。這是語法的樣子:
var obj = {};
Object.defineProperty(obj, "value", {
get: function() {
return this.val;
},
set: function(val) {
this.val = val;
}
});
同時也出現了對於稍後也由WebKit和歌劇採用但這無法在IE瀏覽器很長一段時間的專有實現在Mozilla getter和setter。
我不確定你在問什麼。您可以隨時獲取textarea的值,而無需使用onchange事件。你必須得到對象然後看看value屬性。
例如,如果你的文字區域有一個id = 「mytext的」 你可以做
var mytextarea = document.getElementById("mytext");
var text = mytextarea.value;
我知道約翰很多。謝謝。我編輯了我的問題。我希望現在更清楚一點。 – 2010-07-08 23:06:17
它對我來說似乎不太清楚。你是否在尋找屬性getter和setter? – Davy8 2010-07-08 23:09:43
就是這樣 – 2010-07-08 23:11:17