簡體   English   中英

如何在Dojo中添加新方法?

[英]How to add a new method to Dojo?

您能告訴我如何在Dojo中添加新方法嗎?

它適用於我,但僅適用於NodeList

dojo.extend(dojo.NodeList, {
    foo: function() {
        alert(1)
    }
});

dojo.byId("foo").foo();

但是,我需要Element

dojo.byId("id").myMethod();

dojo.byId函數只是document.getElementById的別名。 因此,它返回一個普通的domNode,並且您建議在Element中添加一個新方法,而不是Dojo。

Dojo故意不更改Element,因為這樣做被某些人認為是不好的做法(例如,它可能與其他框架發生沖突)。

如果要這樣做,可以向Element的原型添加功能:

Element.prototype.myMethod = function() { 
    alert("My content is: " + this.innerHTML);
};

然后,您可以執行以下操作:

dojo.byId("id").myMethod();

暫無
暫無

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

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