我正在創建一個Chrome擴展。找出選定的文本是否在輸入字段或文本區域內
無論何時您選擇文本,我都會在與選擇相鄰的網頁上添加兩個按鈕。
如果所選內容位於textarea或Input框內,我不希望發生任何操作。
這裏是我使用當前
$(document).on("mouseup", function(e) {
var class1=e.target.nodeName;
var class2=e.target.firstChild;
console.log(class1);
console.log(class2);
if(class1=="INPUT" || class1=="TEXTAREA"){
}
else{
var selectedtext=window.getSelection().toString();
var chars=selectedtext.length;
if(chars>2){
var posx=e.clientX;
var posy=e.clientY;
var scrollDepth=$(window).scrollTop();
posy=posy+scrollDepth;
var location=findSelectionCoords(posx,posy);
create_Button(location);
}
}
});
創建按鈕功能被用來創建按鈕的代碼。
如果用戶在文本區域/輸入框中選擇了一些文本,該功能可以正常工作,控制檯將顯示input/textarea。 但有時候textarea或輸入框也被選中,然後這個函數失敗。在這個例子中,我得到了DiV。
可有一個建議,將適用於所有情況,並檢測文本的選擇是一個輸入或文本區域內
在此先感謝
感謝您的幫助,但是此代碼面臨着我的代碼面臨的同樣的問題。嘗試選擇文本並點擊輸入框的邊框。您將收到消息「不在文本區域或輸入」 –
在瀏覽器中您正在嘗試嗎?你真的想實現什麼?因爲它在工作。消息「不在文本區域或輸入中」僅顯示,並且僅當您釋放鼠標按鈕時不在輸入或文本區域中時,如果觸摸輸入的邊框或不是如此。那麼,你想要相反還是什麼? – xxxmatko
這是一個問題,在某些情況下,用戶做出選擇並且他的鼠標離開輸入框,這在某些時候自然發生。然後顯示警報消息。我不希望發生這種情況。有沒有一個可以幫助你的功能 –