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

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

為什么用focus傳遞參數獲取失敗,用click獲取成功

代碼如下

<!DOCTYPE html>
<html>
<head>
??? <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
??? <script src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script>
</head>

<body>

???????????????? <input type="text">
??? <br>
???????????????? <button>focus傳參數</button>
??? <br>
???????????????? <button>click傳參數</button>

<script type="text/javascript">

???? $("input").on("focus",function(event,title) {
??????? alert(title)? //為什么參數傳遞失敗
??? });

??? $("button:first").click(function(){
???????? $("input").trigger("focus","focus傳參數");
??? })
?? ?
?? ?
?? ?
???? $("input").on("click",function(event,title) {
??????? alert(title)
??? });

??? $("button:last").click(function(){
?????? $("input").trigger("click","click傳參數");
??? })
?? ?
?? ?

</script>
</body>

</html>

正在回答

4 回答

因為trigger會觸發瀏覽器的默認行為 即input的聚焦行為,此時是不能將input設置title值的;而triggerHandler不會觸發瀏覽器的默認行為 即input的聚焦行為,此時是可以將input設置title值的。

就這樣。

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

慕圣2251184 提問者

非常感謝!
2017-04-10 回復 有任何疑惑可以回復我~
#2

qq_尋找_13

那要怎么改才能顯示出來呢?
2017-06-10 回復 有任何疑惑可以回復我~


比如用鼠標點擊按鈕觸發click,是原生事件,沒辦法傳遞參數,也不需要在點擊按鈕的瞬間讓用戶輸入參數,
但是用trigger寫條代碼觸發click就可以傳遞參數1和參數2,因為順手一寫的事
$('#elem').trigger('click',['參數1','參數2'])

trigger除了能夠觸發瀏覽器事件(原生事件),同時還支持自定義事件,并且自定義事件還支持傳遞參數,

自定義事件支持傳遞參數,但原生事件(瀏覽器事件)并不支持相同的形式傳遞參數,

$("input").trigger("focus","focus傳參數");//在這里觸發的是原生事件,不支持傳遞參數,寫了沒用,所以title的值為空

$("input")..triggerHandler("focus","focus傳參數");//觸發的是自定義事件,支持傳遞參數,所以title的值為"focus傳參數"




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

小程序魔王

僅個人理解
2018-10-09 回復 有任何疑惑可以回復我~
#2

龍躍馬

上一章,button的trigger還傳了參數,難道是input不行?
2018-12-26 回復 有任何疑惑可以回復我~

我今天來復習jquery ?然后又有點搞不懂這個問題了,,,,結果來這里看到了以前自己寫的答案。 贈人玫瑰,手留余香。

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

小程序魔王

你再碰到還是不懂,說明你以前就沒搞懂
2018-10-09 回復 有任何疑惑可以回復我~

因為你用錯函數了 ?這個函數不能傳遞參數 請用 ?

$("input").focus(11111,function(e) {

? ? alert(e.data)

});


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

舉報

0/150
提交
取消

為什么用focus傳遞參數獲取失敗,用click獲取成功

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

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

幫助反饋 APP下載

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

公眾號

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