亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

改了val()的參數,為什么點擊第一個按鈕,參數不顯示,點第二個顯示

//給input綁定一個聚焦事件

? ? $("input").on("focus",function(event,titie) {

? ? ? ? $(this).val(titie)

? ? });



? ? //trigger觸發focus

? ? $("button:first").click(function() {

? ? ? ? $("input").trigger("focus",'觸發默認事件');

? ? });


? ? ?//triggerHandler觸發focus

? ? $("button:last").click(function() {

? ? ? ? $("input").triggerHandler("focus",'沒有觸發默認事件');

? ? });


正在回答

2 回答

因為第一個按鈕綁定的是tigger(),會觸發瀏覽器的默認事件focus()事件。你on("focus",function(event,titie))沒有給titie傳入值當然不會顯示了。

1 回復 有任何疑惑可以回復我~
#1

慕柯

還是不明白,那怎樣點擊第一個按鈕才會顯示 '觸發默認事件' 這幾個字?
2016-08-29 回復 有任何疑惑可以回復我~
#2

Feair 回復 慕柯

你看之前的,trigger()如何將其first/last傳值給bottonName的,你可以仿著寫一個
2016-09-11 回復 有任何疑惑可以回復我~
#3

_十年

那為什么將focus換成click,titie就傳入值了?
2016-09-18 回復 有任何疑惑可以回復我~

7-1,也就是上一小節,最后一句話是“自定義事件可以傳遞參數”,那意思就是默認的瀏覽器事件不能傳遞參數。$("input").trigger("focus",'觸發默認事件'); 這句話里“觸發默認事件”就沒法被傳遞過去(但是triggerHandler函數可以傳遞參數)。

$("input").on("focus",function(event,titie) {

? ? ? ? $(this).val(titie)

? ? });

沒有參數的話,title就是空值,因此最后input文本框就沒法顯示了。另外,可以像上一小節一樣,加上這樣一句話:title = title || "實在不行就顯示我吧"

那么,即使調用trigger函數也能顯示出剛才加的這行文字了

8 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

改了val()的參數,為什么點擊第一個按鈕,參數不顯示,點第二個顯示

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號