我调用下面的第一个函数将第二个函数绑定到 onClick 事件。
奇怪的是,调用第一个函数会导致触发第二个函数。
第一个函数中的 LinkName 参数是表 td 元素的名称 - 可能不相关。
function EnableExpand(LinkName, i) {
$(LinkName).addClass("link-text");
$(LinkName).bind("onclick", ExpandFrame(LinkName, i));
}
function ExpandFrame(lName, i) {
$("#mapFrame" + i).attr({ height: 500, width: 800 });
}
问题是 .bind() 的第二个参数应该是一个函数,但您正在调用一个函数。 JQuery 评估函数调用并尝试将结果绑定到单击事件。
按照建议,通过将函数调用包装在匿名函数中,JavaScript 引擎会将包装函数绑定到事件,而不评估其中的内容。
$(LinkName).click( function () { ExpandFrame(LinkName, i) } );
认识到使用以下代码与上面的代码等效可能会有所帮助。
$(LinkName).click( function () { ExpandFrame(LinkName, i) }() );
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)