Javascript 如何在自定义jQuery函数中使用函数
找不到具体的答案 如果我创建一个jQuery函数,比如说,将其称为“doMobile”,我希望它使用其中的一个函数,如果是这样,我该怎么办 这就是我想做的:Javascript 如何在自定义jQuery函数中使用函数,javascript,jquery,Javascript,Jquery,找不到具体的答案 如果我创建一个jQuery函数,比如说,将其称为“doMobile”,我希望它使用其中的一个函数,如果是这样,我该怎么办 这就是我想做的: $.fn.doMobile = function(somefunctioninside) { if ( $('.mobile').is(':visible') ) somefunctioninside(); }; $('.menu').doMobile(function() { $(this).css('backgrou
$.fn.doMobile = function(somefunctioninside) {
if ( $('.mobile').is(':visible') )
somefunctioninside();
};
$('.menu').doMobile(function() {
$(this).css('background-color', 'red');
});
当我喜欢它时,$(这个)-$('.menu)不会变成红色。试试这个
$.fn.doMobile = function (someFunction) {
someFunction.call(this);
};
$('.menu').doMobile(test);
function test() {
this.css('background-color', 'green');
alert("came");
}
通过此参考@卡尔·安德烈·加农是这样说的
@瑟布鲁斯,你标记为重复的问题不是好问题。链接的问题不使用jQuery,这在这里很重要,因为OP希望将this
用作HTML元素。我肯定某个地方有一个重复的,但不是这个(或者有更好的)。问题是如何调用somefunctioninside
。链接的问题准确地解释了这一点。@Cerbrus我同意,但答案无法解决OP问题。在阅读之后,他会问“如何使这个成为HTML元素?”它确实回答了OP在这里提出的问题。我不认为这个问题会被重新打开,所以这里是你的答案。在您的情况下,您希望使用以下内容:this.each(somefunctioninside)
,但也可以使用somefunctioninside.call(this)代码>。第二个是不同的,这将不是一个HTML元素,而是一个jQuery对象,所以不需要将它包装在$()
中。我需要$(this).css('background-color',red')在test()中。我将多次使用此功能来检查文档是否在移动设备上被观看,如果是,则检查效果元素。@matt4692通过传递引用$('.menu').doMobile(test,test1,test2)来检查更新后的帖子以使用conman;你可以通过更多的考试,这是最好的方法吗?我的意思是,当我使用.click(function()…时,我不需要像你使用“elem”那样指定元素。有什么办法吗?@matt4692无法给出答案,所以我已经对你关于如何做的问题发表了评论。