jq中click(function)嵌套focus(function)不能用?

$(function () {
        $("#test_focus").focus(function () {
            $("#test_focus").css("backgrand-color","#FFFFCC");
        });
        $("#btn").click(function () {
            $("#test_focus").focus();
        });
    });

这样就能focus到input
但是我如果像下面这样写

$(function () {
        $("#btn").click(function () {
            $("#test_focus").focus(function () {
                $("#test_focus").css("background-color","#FFFFCC");
            })
        });
    });

就不能focus到input
是不是不能够在click(function)中再嵌套function?
新手~~ 望各位大大指导下~~

阅读 4k
4 个回答
$(function () {
    $("#btn").click(function () {
        $("#test_focus").focus(function () {
            $("#test_focus").css("background-color","#FFFFCC");
        })
        //你这是给元素添加了一个事件,需要调用才能生效!
         $("#test_focus").focus();
    });
});

一个是使其得到焦点,另一个是得到焦点了之后怎么怎么样~

$("#test_focus").focus(fn) 是为 test_focus 注册 focus事件啊。

click的时候已经触发focus事件了,再去注册也没用了

注册事件要提前注册,触发事件要实时触发。

第一种写法是正确的

.focus(function () {})
.click(function () {})

这样的代码其实是“绑定”的操作,并不是马上执行了。

你只有触发了相应的事件,才会执行里面的代码。

这样,对比着两段代码,就很容易理解了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题