簡體   English   中英

創建像C#屬性的javascript屬性

[英]Create javascript property like C# property

是否可以在javascript對象上創建一個與C#中的屬性類似的屬性。

示例:我使用dojo創建了一個自動調整大小的textarea小部件。 為了從我的小部件中獲取“value”屬性,我已經連接到onchange事件,並且每次textarea的值發生變化時我都會設置一個變量。

有沒有辦法在不掛鈎onchange事件的情況下完成此任務。

編輯

換句話說,是否可以在JavaScript中編寫一些行為類似於getter和/或setter的東西。

它可以在ECMAScript 5實現中實現,其中包括所有主流瀏覽器的最新版本 ECMAScript 5規范增加了標准化的getter和setter。 一個怪癖是IE 8具有此功能,但僅限於DOM節點。 這是語法的樣子:

var obj = {};

Object.defineProperty(obj, "value", {
    get: function () {
        return this.val;
    },
    set: function(val) {
        this.val = val;
    }
});

Mozilla已經有很長時間的getter和setter的專有實現,后來也被WebKit和Opera采用,但這在IE中是不可用的。

我不確定你在這里問什么。 您始終可以在沒有onchange事件的情況下獲取textarea的值。 你必須得到對象,然后看看value屬性。

例如,如果你的textarea有一個id =“mytext”你可以做

var mytextarea = document.getElementById("mytext");
var text = mytextarea.value;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM