帮忙解决JQuery问题
p.showadd = function(sender, code,_id,tagstr){
var obj = _$(sender || '#tjzxg');
alert(obj);
var position = [
obj.offset().left - _$(document).scrollLeft(),
obj.offset().top - _$(document).scrollTop() + obj.height()
];
code = code || '';
var d = _$('#tjzxgbox').dialog({
closeOnEscape:true,
modal:true,
closeText:'',
title:'',
position:position,
width:330
});
// 判断添加还是修改
//var stock = mystock.findOne(code);
var stock = mystock.findByID(_id);
if(stock){
// 修改股票
d.find('a.btnok').hide();
d.find('a.btnedit').show();
d.find('#add_taginput').val(stock['Tag'].join(' ')).focus();
d.find('a.btnedit').unbind('click').click(function(){
var symbol = _$.trim(_$('#add_codeinput').val());
var code = _$.inArray(symbol.substr(0,2),['60','90'])!=-1 ? '0'+symbol : '1'+symbol;
var tagstr = _$.trim(_$('#add_taginput').val());
var tags = tagstr.match(site.tagsplit) || [];
mystock.changetag(code, tags, p.ontagchange);
d.dialog('close');
return false;
});
// 加载tag建议
window.setTimeout(function(){
d.find('#add_codeinput').val(code.length==7 ? code.substr(1) : code).blur().attr('disabled', 'disabled');
}, 100);
}else{
// 添加股票
d.find('a.btnok').show();
d.find('a.btnedit').hide();
d.find('#add_taginput').val(tagstr || '').focus();
d.find('a.btnok').unbind('click').click(function(){
var symbol = _$.trim(_$('#add_codeinput').val());
var code = _$.inArray(symbol.substr(0,2),['60','90'])!=-1 ? '0'+symbol : '1'+symbol;
var tagstr = _$.trim(_$('#add_taginput').val());
page.add(code, tagstr);
d.dialog('close');
return false;
});
// 加载tag建议
window.setTimeout(function(){
d.find('#add_codeinput').val(code.length==7 ? code.substr(1) : code).removeAttr('disabled').blur();
}, 100);
}
d.find('#add_systags').empty();
d.find('a.btncancel').unbind('click').click(function(){
d.dialog('close');
return false;
});
$(sender||'#tjzxg')
这句代码中间的" ||" 什么意思?
_$('#tjzxg').click(function(){
page.showadd(this);
});
这是调用上面函数,参数只用了一个this, 那showadd()函数中的参数值是怎么调用的?
------解决方案--------------------
var obj = _$(sender || '#tjzxg');
意思是
if(sender == null || typeof(sender) == "undefined" || sender == ""){
obj = _$('#tjzxg')
} else {
obj = _$(sender);
}
如果一个函数中参数没有穿进去,那么将取默认值(一般是undefined)。比如
function F(a){
alert(a);
}
F(); // "undefined"