.trigger("focus")傳入參數后,input標簽并未顯示文本
<script type="text/javascript">
? ? //給input綁定一個聚焦事件
? ? $("input").on("focus",function(event,title) {
? ? ? ? $(this).val(title)
? ? });
? ? $("#accident").on("click",function() {
? ? ? ? alert("trigger觸發的事件會在 DOM 樹中向上冒泡");
? ? });
? ? //trigger觸發focus
? ? $("button:first").click(function() {
? ? ? ? $("a").trigger("click");
? ? ? ? $("input").trigger("focus");
? ? });
trigger支持冒泡,為什么我給input傳入一個title參數比如?$("input").trigger("focus",“觸發聚焦事件”);點擊第一個按鈕觸發不了聚焦事件呢
? ? //triggerHandler觸發focus
? ? $("button:last").click(function() {
? ? ? ? $("a").triggerHandler("click");
? ? ? ? $("input").triggerHandler("focus","沒有觸發默認聚焦事件");
? ? });
</script>
2017-01-12
通過查看其他同學答案,既要有聚焦行為,又要input顯示value值是矛盾的;其實不傳參數時已經觸發了聚焦事件(點擊按鈕1后光標停留在了input文本框內),foucus是原生事件,trigger會觸發原生事件,如把foucus隨便改成一個名字,點擊按鈕一時該參數就顯示在input文本框了