最近使用jQuery操作瀏覽器獲取數據,需要對分頁的信息進行處理,發現直接使用$('div#pager a.next').click();的這種寫法無法觸發點擊事件。
使用trigger('click')的寫法也是無濟於事。
在網上一頓扒拉后,發現使用$('div#pager a.next')[0].click();就OK了。
$('div#pager a.next')[0]這種寫法其實就相當於把jQuery對象轉換為Dom對象了。
模擬點擊不生效的原因
如果使用jQuery的寫法:$('a#test').click(function(){alert('ok')});為元素綁定了click事件,那么使用$('a#test').click()是可以生效的,如果沒有綁定click事件,當點擊a#test的時候事件通過冒泡會傳給父級的節點,父級節點會處理點擊事件(跟我遇到的分頁的情形是一樣的),那么這時就需要模擬DOM點擊了,也就是通過$('a#test')[0].click()去觸發。