有下一个脚本:
function clicker(){
var linkId = "[id*=" + "link]";
var butnId='initial';
$j(linkId).click(function(){
var postfix = $j(this).attr('id').substr(4);
butnId = '#' + 'butn' + postfix;
});
return butnId;
}
函数输出为'initial'值。
如何在点击功能中转换后变量 butnId 的实际值?
答案 0 :(得分:2)
传递给click
的函数内部的代码在单击元素之前不会执行。
您可能需要clicker
的调用者传入一个回调函数,然后可以通过click函数调用该函数(假设您不想将所需的操作硬编码到click函数本身中): - < / p>
function clicker(callback){
var linkId = "[id*=" + "link]";
var butnId='initial';
$j(linkId).click(function(){
var postfix = $j(this).attr('id').substr(4);
butnId = '#' + 'butn' + postfix;
callback(butnId);
});
return butnId;
}
可能会重构为: -
function clicker(callback){
var linkId = "[id*=" + "link]";
$j(linkId).click(function(){
var postfix = $j(this).attr('id').substr(4);
callback('#' + 'butn' + postfix);
});
}