我正在尝试添加自定义jquery插件。但我得到错误jQuery(...)。termifier不是一个函数....我很确定代码中没有错误
对于刚刚测试,我试图从learn.jquery.com
复制代码(function($) {
$.fn.greenify = function() {
this.css("color", "green");
return this;
};
}(jQuery));
然后
jQuery('..').greenify();
返回错误jQuery(' ..')。greenify不是函数
发生什么事了?有谁知道原因?
修改
代码越多。这个绿化的事情只是为了表明它没有在标准的例子上工作....
实际的插件...它目前只放在同一个文件中,稍后在ellements上调用它,所以没有找到文件的问题..
(function($) {
$.fn.termifier = function(options) {
options = $.extend({
lookupResource: 'getTerm',
flyoutClass: 'lookerUpperFlyout'
},options||{});
this.attr('title','Click me for my definition!');
return this.click(function(event){
$.ajax({
url: options.lookupResource,
type: 'get',
data: {term: this.innerHTML},
dataType: 'html',
success: function(data) {
$('<div></div>')
.css({
position: 'absolute',
left: event.pageX,
top: event.pageY,
cursor: 'pointer',
display: 'none'
})
.html(data)
.addClass(options.flyoutClass)
.click(function(){
$(this).fadeOut(1500,function(){$(this).remove();});
})
.appendTo('body')
.fadeIn();
}
});
return false;
});
};
}(jQuery));
jQuery(document).ready(function(){
...
jQuery('abbr').termifier({
lookupResource: 'some.php'
});
});
我很无能......
答案 0 :(得分:0)
它有效,但我认为在添加功能之前使用greenify()。
你能告诉我们更多代码吗?
(function ( $ ) {
$.fn.greenify = function() {
this.css( "color", "green" );
return this;
};
}( jQuery ));
jQuery('#test').greenify();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p id="test">
Black text?
</p>
答案 1 :(得分:0)
我猜你试着调用jQuery(&#39; ..&#39;)。greenify();在插件加载之前。
如果文档准备就绪,请添加它 - 以相同的方式调用插件
Get-Content
答案 2 :(得分:0)
首先,确保使用 Joomla的API 导入jQuery,如下所示:
<?php
JHtml::_('jquery.framework');
?>
这将确保只导入1个jQuery实例,并且也是noConflict模式。
完成后,您应该使用jQuery
全局范围和$
作为别名(可选):
jQuery(document).ready(function($){
$.fn.greenify = function() {
this.css("color", "green");
return this;
};
});
希望这有帮助