jQuery 触发变化而不失去焦点?

标签 jquery bind

我有一个脚本,如下所示:

$(".b").hide();
$(".uid").bind("change", function() {
    if($(this).val().length>0) {
        $(".b").show();
    } else {
        $(".b").hide();
    }
});

这正如您所期望的那样,但是,为了显示“.b”,我必须保留“.uid”的焦点。有什么办法可以让我得到“。”无需点击“.uid”外部即可显示?这是一个提交按钮,在文本字段中输入内容之前,该按钮是隐藏的,我希望它在字段中输入内容后立即显示,而无需单击字段外。

最佳答案

您可以使用keyup代替:

$(".b").hide();
$(".uid").on("keyup", function() {
    if($(this).val().length>0) {
        $(".b").show();
    } else {
        $(".b").hide();
    }
});​

http://jsfiddle.net/zerkms/YCGw9/

关于jQuery 触发变化而不失去焦点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13224820/

相关文章:

javascript - 滚动时粘性表格标题不保持宽度

javascript - 如何获取对事件源元素的引用

c++ - 我需要哪些库才能使用 std::placeholders?

c++ - 在 boost for_each 中运行成员函数 vector

c++ - 无法使用 std::for_each() 和 std::bind() 过滤 vector 中的元素并将这些过滤后的元素放入新 vector 中

javascript - Bootstrap JS 不与中间人一起工作

jquery - 如何使用 JQuery 在悬停时为背景图像设置动画?

sockets - Netty 允许不同程序多次绑定(bind)同一个端口

javascript - 如何在 Bootstrap 中在我的网页上实现平滑滚动?

c++ - 使用 Variadic 模板的困难