以下是附加到keyup
事件的函数,此函数在第一个keyup
上工作,但在每个后续keyup
上,它会多次运行该函数。因此,例如,在第一次keyup
事件中,该函数运行1次,在第二次keyup
事件上该函数运行2次,在第3次keyup
上运行3次,依此类推。
$(document).on('pageinit','#address_page,#edit_address_page', function(){
$(".names").focus(function() {
$(this).on('keyup', function() {
// Do Something
});
我已阅读有关此问题的其他帖子,但无法将其应用于我的方案。有人可以就此提出建议。
答案 0 :(得分:2)
每次元素聚焦时,您都会重新绑定keyup
事件。
如果你想这样绑定,你还应该有一个blur
事件来取消绑定它。但实际上,你可以安全地绑定keyup
而不用担心focus
。该元素实际上只会触发keyup
focused
。{/ p>
$(".names").keyup(function () {
// do stuff
});
答案 1 :(得分:2)
问题是每次输入聚焦时都会添加一个新的keyup处理程序,所以请尝试(不确定jquery移动语法和pageinit
的需要)
$(document).on('pageinit', '#address_page, #edit_address_page', function () {
$(this).find('.names').on('keyup', function () {
// Do Something
});
});