【发布时间】:2016-09-13 09:00:07
【问题描述】:
在尝试了几种方法(第一次)为 jQuery 创建扩展之后......但它还不起作用:
(function($){
$.fn.fixInputWidthsForBlog = function()
{
console.log('hi extension');
// var w = $('#newblogentryform input[name="headline"]').outerWidth();
// $('#newblogentryform textarea[name="text"]').outerWidth(w);
// $('#newblogentryform submit[name="submit"]').outerWidth(w);
}; // endFUNC
}(jQuery));
这(以下)是我得到错误的地方:
"jquery-3.1.0.min.js:2 Uncaught TypeError: $.fixInputWidthsForBlog is not a function"
$(document).ready(function(){
$.fixInputWidthsForBlog();
alert('ok1');
$(window).on('resize', function(){ $.fixInputWidthsForBlog(); });
$('.linkNewBlogEntry').on('click',function() {
$('#newblogentryformdiv').slideToggle().delay(1200).fixInputWidthsForBlog();
// setTimeout("fixInputWidthsForBlog();",1200);
return false;
});
});
我也试过了:
$.fn.extend({
fixInputWidthsForBlog = function() {}
});
简单地说:
$.fn.fixInputWidthsForBlog = function() {};
但所有这些都会导致同样的错误:
"jquery-3.1.0.min.js:2 Uncaught TypeError: $.fixInputWidthsForBlog is not a function"
在我尝试执行的行中:
$.fixInputWidthsForBlog();
以一种或另一种方式。
【问题讨论】:
-
你真的是想在 jQuery 集 (
$.fixInputWidthsForBlog();) 上而不是在 jQuery 集 ($(...).fixInputWidthsForBlog();) 上调用这个 not 吗? -
thx @eisbehr: 我试过几次编辑,我还是新手 :)
-
@Crowder :是的,我想链接(第二个选项) - 并且还不太了解其中的区别,... :(
-
eisbehr's answer 应该很有用(看看它的
onElements部分)。我还编写了插件示例 here 和 here,FWIW。
标签: jquery