Javascript 创建Jquery插件
我正在创建带有简单警报选项的jquery插件。我是这样做的。下面是我的代码。但它不起作用。 下面的代码是单独的js文件。Javascript 创建Jquery插件,javascript,jquery,jquery-plugins,Javascript,Jquery,Jquery Plugins,我正在创建带有简单警报选项的jquery插件。我是这样做的。下面是我的代码。但它不起作用。 下面的代码是单独的js文件。 (function($) { $.fn.gettingmessage = function() { var element = this; $(element).load(function() { alertingcontent(); fun
(function($) {
$.fn.gettingmessage = function() {
var element = this;
$(element).load(function() {
alertingcontent();
function preventnextpage() {
return false;
}
function alertingcontent() {
alert("nicely done");
});
};
})(jQuery);
我将此函数称为
这样
$(function(){
$("body").gettingmessage();
});
我不知道我该如何解决这个问题,任何建议都会很好。
谢谢- 首先,您缺少一个结束括号
- 其次,该函数不执行您正在搜索的操作,请使用而不是
(function($) {
$.fn.gettingmessage = function() {
var element = this;
$(element).ready(function() {
alertingcontent();
function preventnextpage() {
return false;
}
function alertingcontent() {
alert("nicely done");
}
});
};
})(jQuery);
$(function(){
$("body").gettingmessage();
});
“
var element=this;
”在插件中,this
不是元素。这是jQuery集合,其中可能有零个或多个元素。在上面展示的代码中,这其实并不重要;如果你做了任何非琐碎的事情,它就会发生。“但它不起作用”“不起作用”不是一个有用的问题描述。不起作用怎么办?你预计会发生什么?会发生什么?您在控制台中看到了哪些错误?(如果没有,这是有用的信息。)第一个问题是您忘记关闭alertingcontent
函数的主体。使用firebug/developer工具捕获类似的简单语法错误。感谢您指出问题所在。AFAIK,ready()
仅绑定到document
以检查DOM何时准备就绪。这里的load
事件没有问题(它也考虑了图像,而ready
没有)。我想问题是load()
绑定到body
,在执行javascript时已经加载了body
。这取决于body
中的所有资源是否都已加载。考虑<代码> $(窗口).Load < /Cord> VS >代码> $(文档).准备好< /COD> HI一个快速问题'ZESX,它工作得很好,但是当我用ID添加那个函数不起作用时?请看,我更改了div,因为调用jquery函数的不同id是不同的id,但我仍然收到警报。