Maj*_*our 1 javascript jquery callback
为什么不能使用定义的函数作为事件回调?
<div id="me">
<input>
</div>
Run Code Online (Sandbox Code Playgroud)
$(document).ready(function(){
// $("#me").on('keyup', 'input', doit()); # doesn't work
// $("#me").on('keyup', 'input', 'doit'); # neither does this
$("#me").on('keyup', 'input', function() {
doit();
}); // well, this one works of course
});
function doit() {
console.log($("input").val());
}
Run Code Online (Sandbox Code Playgroud)
您应该传递该功能,而不是调用它
$("#me").on('keyup', 'input', doit)
Run Code Online (Sandbox Code Playgroud)
要清除错误的原因,请参阅以下示例:
$("#me").on('keyup', 'input', (function() {
doit();
})());
Run Code Online (Sandbox Code Playgroud)
在这里,您传递一个匿名函数并立即调用它,这不是事件处理程序所期望的.
问题不在于匿名与否之间,问题在于您正在调用函数而不是传递函数.
| 归档时间: |
|
| 查看次数: |
147 次 |
| 最近记录: |