jQuery自定义函数- this.each
jQuery custom function - this.each
我需要一些关于我正在创建的jQuery插件的帮助。
$.fn.mymethod = {
init : function(options){
this.each(function() {
var settings = { };
if(options){ $.extend(settings, options); }
});
return this;
}
}
$("input[type=text]").mymethod.init();
它似乎不工作,我得到一个错误: TypeError:这个。each在
行上不是函数我希望有人能给我指个正确的方向。
谢谢!
您将希望这样做,而不需要额外的对象引用:
$.fn.mymethodInit = function(options){
this.each(function() {
var settings = { };
if(options){ $.extend(settings, options); }
});
return this;
}
当你插入额外的对象时,就像你原来的提议一样,这意味着它必须被调用为:
$(...).mymethod.init()
并且,这样调用它,意味着this
指针是mymethod
,而不是您需要的jQuery对象。这只是Javascript在调用foo.bar.method()
时如何设置this
指针的结果。
有一些变通方法,但通常都是丑陋和复杂的,所以放弃额外的点语法。一种常见的解决方法是在所有方法上使用一个共同的前缀:
$.fn.mymethod_Init = function() {...}
$.fn.mymethod_Save = function() {...}
,它与您尝试使用的名称空间一样唯一,但不会产生您遇到的问题。
相关文章:
- this内部的值返回this.each(function(){})
- $.each 中的“this”,当需要使用“this”访问对象的函数时
- jQuery插件返回this.each并为每个对象添加函数属性
- this.collection.each不会以这种方式启动(backbone.js)
- jQuery $(selector) 中的“this”.each 函数都引用页面
- 如何在嵌套的 .each()(s) 中正确使用“this”?(JQuery)
- $(this).getAttribute 在使用 $.each XML Javascript 时不是一个函数
- this.something outside each in jquery
- Backbone/Javascript scope.如何在 .each 中访问 this.el
- 为什么当我在单独的函数中使用 $(this) 并在 .each() 中调用它时,它不起作用
- $(this) toggleClass not working with .each?
- "this.collection.each不是函数;.应该'它不是简单地说“;每个”;
- this.key和this[key]之间的差异,使用angularjs for Each
- this.each不是't正在执行
- 如何将jQuery this与.on函数和.each函数一起使用
- 将$(this)传递给jQuery中each()的回调
- jQuery自定义函数- this.each
- 很难让JS使用each和this进行迭代
- jQuery each() 或 (this) 用于显示/隐藏切换
- each() inside function() and $(this)