嘗試觸發(觸發)單擊事件。它很容易在jQuery中完成,但無法弄清楚如何設置事件的座標並將它們一起發送。在特定座標處觸發JavaScript click()事件
從本質上講,我需要觸發在特定位置的點擊(其被觸發()調用之前計算)。
任何方式做到這一點(jQuery的或其他方式)?
謝謝 -
嘗試觸發(觸發)單擊事件。它很容易在jQuery中完成,但無法弄清楚如何設置事件的座標並將它們一起發送。在特定座標處觸發JavaScript click()事件
從本質上講,我需要觸發在特定位置的點擊(其被觸發()調用之前計算)。
任何方式做到這一點(jQuery的或其他方式)?
謝謝 -
在event object設置pageX
和pageY
性質(這是歸一化),並將它傳遞到.trigger()
,像這樣:
var e = new jQuery.Event("click");
e.pageX = 10;
e.pageY = 10;
$("#elem").trigger(e);
的 「.trigger()」 呼叫接受一個你可以使用「extraParameters」參數填充XY座標。 Documentation
.trigger("click", [x, y]);
你可以傳遞一個匿名函數作爲'.trigger'調用的第二個參數。該函數返回一個具有所需頂值和左值的位置函數。 'function(){this.position = function(){this.left = x; this.top = y; }; }' – 2014-05-03 03:35:55
代碼似乎沒有錯誤運行,但是所期望的結果(定位內容的可編輯的div內光標)不出現。此方法是否發送了本地click()事件,就好像我物理地點擊了該位置?它並非如此。謝謝 - – OneNerd 2010-05-16 19:51:01
@OneNerd - 它不是,不可能像事件一樣模擬事件,至少是跨瀏覽器。你對結果做什麼,它是一個處理程序還是圖像映射? – 2010-05-16 19:53:37
好吧,這是我真正的問題(請參閱其他帖子的鏈接)。我認爲觸發click()事件可能會解決它 - 但顯然不是:http://stackoverflow.com/questions/2844649/javascript-contenteditable-getting-setting-caret-position – OneNerd 2010-05-16 19:55:31