triggerHandler
<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");
? ? });
? ? //triggerHandler觸發focus
? ? $("button:last").click(function() {
? ? ? ? $("a").triggerHandler("click");
? ? ? ? $("input").triggerHandler("focus","沒有觸發默認聚焦事件");
? ? });
</script>
上面代碼中
$("input").on("focus",function(event,title) {
? ? ? ? $(this).val(title)
? ? });
這兩行代碼能不能具體解釋一下,謝謝、、、$(this).val(title)是什么意思
2019-01-09
1.
$("input").on("focus",function(event,title) {
? ? ? ? $(this).val(title)
? ? });
這個是指input設置focus事件, $(this).val(title)是設置某個元素節點的value值,即獲取$(this)元素節點并將title的值插入進去.
2.
$("button:last").click(function() {
? ? ? ? $("a").triggerHandler("click");
? ? ? ? $("input").triggerHandler("focus","沒有觸發默認聚焦事件");
? ? });
當點擊第二個按鈕時觸發事件,先執行$("a").triggerHandler("click");事件,觸發a的click事件,因為a沒有click事件,且triggerHandler不會冒泡,所以沒有執行效果。接著執行?$("input").triggerHandler("focus","沒有觸發默認聚焦事件");事件,觸發input的focus事件,并傳入title值。因為triggerHandler不會冒泡,只執行input的focus方法,把title的值插入input中。
2018-11-20
還有下面的
$("button:last").click(function() {
? ? ? ? $("a").triggerHandler("click");
? ? ? ? $("input").triggerHandler("focus","沒有觸發默認聚焦事件");
? ? });
這幾行具體流程是什么樣子的