在javascript / jquery中为dom对象添加任意函数
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了在javascript / jquery中为dom对象添加任意函数,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1386字,纯文字阅读大概需要2分钟。
内容图文
我需要添加一些函数,将值返回给dom元素.我试图使用jquery的bind方法,但似乎事件总是返回一个jquery集合.
我的目标是创建一个flashcard应用程序.所以我创建了包含方法和变量的flashcard对象,包括代表页面上flashcard的dom元素.只要我只处理dom元素(移动等),一切都很好,但在某些时候我需要获得对实际卡片对象的引用以访问其他功能.这是我想出的构造函数:
function make_flashcard {
var dom_element;
function some_function() {}
/*...other variables and functions */
var card = {
dom_element: dom_element,
some_function: some_function,
/*...other variables and functions */
};
return card;
}
后来我希望能够从外部调用some_function,也许是这样的:
card = dom_element.get_card();
card.some_function();
我尝试了以下三种在make_flashcard中定义get_card的方法,所有这些方法都失败了:
dom_element.get_card = function () {
return card;
};
dom_element.prototype.get_card = function () {
return card;
};
要么
dom_element.bind("get_card", function () {
return card;
});
然后打电话
card = dom_element.trigger("get_card");
如果你有任何提示让这个运行我会很高兴.或者你认为整个事情应该采用不同的方式?
提前致谢,
多米尼克
`
解决方法:
如果你扩展jQuery集合原型怎么办?
$.fn.flashcard = function () {
var self = this;
if (!this.data("flashcard")) {
this.data("flashcard", {
element: self,
some_function: some_function,
/*...other variables and functions */
});
}
return this.data("flashcard");
};
然后你可以使用它像:
var card = $("div.myClass").flashcard();
card.some_function();
内容总结
以上是互联网集市为您收集整理的在javascript / jquery中为dom对象添加任意函数全部内容,希望文章能够帮你解决在javascript / jquery中为dom对象添加任意函数所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。