<script type="text/javascript"> //给input绑定一个聚焦事件 $("input").on("focus",function() { $(this).val('聚焦') }); //trigger触发focus $("button:first").click(function() { $("input").trigger("focus",['触发默认事件']); }); //triggerHandler触发focus $("button:last").click(function() { $("input").triggerHandler("focus",'没有触发默认事件'); }); </script>
trigger("focus",['触发默认事件'])和triggerHandler("focus",'没有触发默认事件')这里面的两个参数是不是都对应着event,title?可是我把input的聚焦事件去掉event,title 结果运行还是一样的
你自己把value值写死了,写成了聚焦!!!!
首先把错误告你 你看到的结果 “聚焦“是你写在input.val那的 不是传递的参数 那么结果当然也和title和event没啥关系了 --然后要搞清楚 trigger和triggerHandler传两个参数 之后input接受参数 title这个变量会存参 之后在input.val()里写上参数title 就能看到结果了是会变得了~
event传递的是事件参数,title传递的是里面显示的文字的参数。如果你删了,第一个button只是让光标聚焦了没有显示文字,所以看不出来效果,点击第二个button就看的出来了
不一样吧,去掉title参数,那个$("input").triggerHandler("focus","没有触发默认聚焦事件"); 不会显示value的。
event为默认参数