亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

用戶腳本不會使某些頁面上的文本輸入不集中

用戶腳本不會使某些頁面上的文本輸入不集中

幕布斯6054654 2021-04-30 13:20:54
我有一個小的Greasemonkey腳本,該腳本意在使所有內容失去焦點,只是將焦點返回到網頁的頂層。代碼如下:document.addEventListener('keydown', function(event) {    if (event.ctrlKey && event.keyCode === 32) {        document.activeElement.blur()    }}, true);除了WhatsApp Web之外,它在我使用的所有網頁上都能正常工作。它立即重新調整消息輸入框的焦點。我已經在Firefox中關閉了自動對焦功能。怎樣才能確保沒有什么真正成為焦點?甚至沒有WhatsApp Web消息輸入框。
查看完整描述

1 回答

?
暮色呼如

TA貢獻1853條經驗 獲得超9個贊

瀏覽器控制臺中是否有任何錯誤或消息?您使用的是哪個瀏覽器版本?

無論如何,在不創建WhatsApp帳戶或發布MCVE的情況下,這里有一些可能性:

  • 該頁面使用JS重置焦點-由觸發keydown。

  • 該頁面使用JS重置焦點-由其他觸發。

  • 該頁面已重置默認的活動元素((在某些瀏覽器中可能是)。

  • 頁面已被覆蓋 document.activeElement.blur()

此代碼可能有效:

document.addEventListener ('keydown', zEvent => {

    if (zEvent.ctrlKey && zEvent.keyCode === 32) {

        let actElem     = document.activeElement;

        if (actElem)    actElem.blur ();

        else            console.error ("document.activeElement is unset");


        zEvent.preventDefault ();

        zEvent.stopImmediatePropagation ();

    }

}, true);


如果不是,并且瀏覽器控制臺中沒有相關消息,請從控制臺中運行:


console.log (document.activeElement.blur.toSource() );

并查看它是否不是本機函數。


您可以嘗試的另一件事是查找或創建一個不同的輸入及其.focus()。(document.body.focus()las經常不會起作用,las。)


否則,您將必須找到重置焦點的javascript并將其阻止。如何做這樣的事情完全取決于頁面代碼是什么。這是一個不同的問題,但是其他堆棧溢出問題已經涵蓋了各種機制。


查看完整回答
反對 回復 2021-05-13
  • 1 回答
  • 0 關注
  • 145 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號