我在不同的课程中有两个不同的事件:
$('.box1').click(function(){
$(this).find('something').css('red')
}
$('#otherId .box2').change(function(){
$(this).find('something').css('red')
}
但我打算将它们拆分为函数以避免重复代码
function getDetails(this){
this.find(".something").css('red');
}
但是如何稍后调用该函数?将$(this)传递给函数?
$('#otherId .box2').change(function(){
getDetails($(this))
}
答案 0 :(得分:7)
this
是关键字,因此它不能是参数名称
function getDetails(el) {
el.find(".something").css('red');
}
$('#otherId .box2').change(function () {
getDetails($(this))
})
答案 1 :(得分:1)
关键字PATH
不能用作参数,但您可以继续在函数体中使用this
:
this
然后这样称呼它:
function getDetails()
{
$(this).find(".something").css('red');
}
另请参阅:Function.call()
答案 2 :(得分:0)
如果你想得到一个输入值然后改变它并输出它旁边的最终值,你可以使用这样的东西来传递它:
var finalOutput;
function getDetails(args) {
args = "Hello World";
return args;
}
$('.box2').change(function(){
var inputValue = $(this).val();
finalOutput = getDetails(inputValue);
$('.box2').after('<b>' + finalOutput + '</b>');
});
这是一个有效的例子: