[英]Calling user-defined function on jQuery object
我希望单击文本时更改其颜色。 这是我现在正在使用的代码:
$(document).ready(function() {
$("#colorChanger p").click(function() {
$(this).changeColor();
});
function changeColor() {
$(this).css("color", "white");
};
})
我在JSFiddle上也有此代码。 我的代码出了什么问题?
更新了小提琴: http : //jsfiddle.net/xME2L/5/
如果希望添加一个函数,以便可以在$()返回的任何值上调用它,则必须使用:
$.fn.functionName = function() {}
这是我的解决方案 。 您没有将对象正确传递给changeColor函数。 我还建议在document.ready函数之外声明changeColor。
changecolor函数从未分配给jquery el对象。
agmcleod解决方案的替代方法是:
$(document).ready(function(){
$("#colorChanger p").click(function(){
changeColor($(this));
});
function changeColor(el){
el.css("color","white");
};
});
如果要像$(this).changeColor();一样调用它,则应将changeColor定义为JQuery插件。 :
$(document).ready(function(){
$("#colorChanger p").click(function(){
$(this).changeColor();
});
$.fn.changeColor = function() {
this.css("color","white");
};
})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.