改了val()的參數(shù),為什么點(diǎn)擊第一個(gè)按鈕,參數(shù)不顯示,點(diǎn)第二個(gè)顯示
//給input綁定一個(gè)聚焦事件
? ? $("input").on("focus",function(event,titie) {
? ? ? ? $(this).val(titie)
? ? });
? ? //trigger觸發(fā)focus
? ? $("button:first").click(function() {
? ? ? ? $("input").trigger("focus",'觸發(fā)默認(rèn)事件');
? ? });
? ? ?//triggerHandler觸發(fā)focus
? ? $("button:last").click(function() {
? ? ? ? $("input").triggerHandler("focus",'沒有觸發(fā)默認(rèn)事件');
? ? });
2016-08-12
因?yàn)榈谝粋€(gè)按鈕綁定的是tigger(),會(huì)觸發(fā)瀏覽器的默認(rèn)事件focus()事件。你on("focus",function(event,titie))沒有給titie傳入值當(dāng)然不會(huì)顯示了。
2016-12-05
7-1,也就是上一小節(jié),最后一句話是“自定義事件可以傳遞參數(shù)”,那意思就是默認(rèn)的瀏覽器事件不能傳遞參數(shù)。$("input").trigger("focus",'觸發(fā)默認(rèn)事件'); 這句話里“觸發(fā)默認(rèn)事件”就沒法被傳遞過去(但是triggerHandler函數(shù)可以傳遞參數(shù))。
$("input").on("focus",function(event,titie) {
? ? ? ? $(this).val(titie)
? ? });
沒有參數(shù)的話,title就是空值,因此最后input文本框就沒法顯示了。另外,可以像上一小節(jié)一樣,加上這樣一句話:title = title || "實(shí)在不行就顯示我吧"
那么,即使調(diào)用trigger函數(shù)也能顯示出剛才加的這行文字了