我在div上有一個textarea。在div中,我突出顯示輸入到textarea文本的某些部分。我試圖讓鼠標懸停在亮點上,但顯然我不能,因爲它們在我的textarea下。我在想這是否可以在textarea上使用mousemove事件來跟蹤鼠標座標,但是我認爲這樣做對我沒有好處,因爲如果突出顯示跨越,我無法確定確切的邊界。是jquery中的元素點
所以現在的問題是,我該如何模擬鼠標懸停及移出事件元素不接受這些,因爲他們是在其它元素(S)?
編輯:
我完成了基於馬庫斯的回答解決類似的問題。鼠標懸停/鼠標事件的完整代碼:
var mouseDown = false;
var mouseIsOver = false;
var lastOverElem = false;
textarea.mousemove(function(e) {
if (!mouseDown) {
textarea.hide();
var elm = $(document.elementFromPoint(e.pageX, e.pageY));
textarea.show();
if (elm.hasClass("highlighted")) {
/* MOUSE MOVE EVENT */
if (!mouseIsOver) {
mouseIsOver = true;
/* MOUSE OVER EVENT */
}
} else {
if (mouseIsOver) {
mouseIsOver = false;
if (lastOverElem) {
/* MOUSE OUT EVENT */
}
}
}
}
});
$('body').mousedown (function() {mouseDown = true;});
$('body').mouseup (function() {mouseDown = false;});
http://stackoverflow.com/questions/1009753/pass-mouse-events-through-absolutely-positioned-element有很多想法可以幫助你。 –
非常有趣。但是,我需要在其他元素上方的textarea,以便用戶可以鍵入文本,選擇它,上下文菜單等。pointer-events:none;禁用所有這些功能。此外+1顯示我技術我從來不知道存在 – 19greg96
該頁面上的一個答案建議暫時隱藏文本區域,然後使用document.elementFromPoint方法將事件傳遞給覆蓋的元素。不知道這將有多好。 –