jQuery:使用自定义方法扩展DOM元素 [英] jQuery: Extend a DOM element with custom methods

查看:188
本文介绍了jQuery:使用自定义方法扩展DOM元素的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有几个dom元素充当自定义小部件的占位符。我想扩展它们以给每个类型的小部件一个setvalue函数,如下所示:

I have a couple of dom elements acting as placeholders for custom widgets. I'd like to extend them to give each type of widget a "setvalue" function like this:


$ .fn。 extend($(。dial),{
setval:function(val){
});

我不想扩展 jQuery.fn 本身因为不同的小部件需要不同的 setval 方法。

I don't want to extend jQuery.fn itself as different ypes of widgets require different setval methods.

有没有办法扩展特定类型的DOM元素而不是扩展 jQuery.fn 本身?

Is there a way to extend DOM elements of a particular type instead of extending jQuery.fn itself?

推荐答案

你可以这样做但是,当在所述元件上使用其他方法时,所述方法可能会丢失。最好在元素的数据对象或小部件本身上实现该方法。

You can do this, however, said method may get lost when using other methods on said element. It would be better to implement the method on the element's data object, or on the widget itself.

$(".dial").each(function(){
    $(this).data("setval",$.proxy(function(val){
        this.value = sanitize(val);
    },this));
}).eq(0).data("setval")("foobar");

这篇关于jQuery:使用自定义方法扩展DOM元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆