首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >$("#input").keyup不能像$(document).keyup那样工作

$("#input").keyup不能像$(document).keyup那样工作
EN

Stack Overflow用户
提问于 2013-11-15 18:18:56
回答 1查看 2.7K关注 0票数 3

在Chrome 30.0.1599.101和IE 11中,输入选择器在Firefox 25.0.1中不能正常工作。

在Chrome/IE中被破解:

代码语言:javascript
复制
$(document).ready(function () {
    $("#input").keyup(function (e) {
        var dataString = $(this).val();
        console.log(dataString);
    });
});

在Chrome/IE中工作:

代码语言:javascript
复制
$(document).ready(function () {
    $(document).keyup(function (e) {
        var dataString = $("#input").val();
        console.log(dataString);
    });
});

但是这个小提琴在所有浏览器上都能工作..。http://jsfiddle.net/f82Dz/1/

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-15 18:23:29

这个修好了吗?如果在第一次加载页面之后动态添加input,则需要委托事件:

代码语言:javascript
复制
$(document).ready(function () {
    $(document).on('keyup', '#input', function (e) {
        var dataString = $("#input").val();
        console.log(dataString);
    });
});

更新的JSFiddle

事件处理程序仅绑定到绑定事件时存在的DOM元素--在本例中是在$(document).ready()上。如果您的input当时不存在,并且稍后使用AJAX或其他方法添加,则需要使用像本例中那样的事件委托。

如果这不起作用,您需要提供更多的上下文/信息。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20007925

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档