簡體   English   中英

jQuery .focus() 不適用於 textarea

[英]jQuery .focus() doesn't work for the textarea

我想使用jquery專注於textarea,所以我寫了這個:

let item = $('[data-model-abs-id="_player.5p6G3xVhKxa.6pN08IGqVGe.6dzqtCIQ2y4.6dkh6UeayIM"]');
item.focus();

它沒有用,所以我測試了 textarea 是否被選中:

let item = $('[data-model-abs-id="_player.5p6G3xVhKxa.6pN08IGqVGe.6dzqtCIQ2y4.6dkh6UeayIM"]');
item.animate({'top': '-=50px'},'slow');

文本輸入移動,所以我認為我在正確的位置正確選擇了 textarea。

我測試了item.get(0).focus(); setTimeoutsetInterval來啟動焦點,但它們都不起作用。

這是我測試的最后一件事(我使用的是 Chrome):

let interval = setInterval(focusEachSecond, 1000); // also setTimeout doesn't work

function focusEachSecond(){
  var item = $('[data-model-abs-id="_player.5p6G3xVhKxa.6pN08IGqVGe.6dzqtCIQ2y4.6dkh6UeayIM"]')
  item.focus()
}

這是 textarea 標簽:

<textarea style="font-family: &quot;Calibri Light Charset0_87E9C737&quot;, sans-serif; font-size: 26.9764px; line-height: normal; font-weight: normal; direction: ltr; text-align: left; color: rgb(255, 0, 0); padding: 1.47144px 2.4524px 0px; height: 34.3146px; transform: translate(0px, 0px);" maxlength="" data-accepts="events" placeholder="" data-reactid=".0.0.3.2.0.1.0:$_player=15p6G3xVhKxa=16pN08IGqVGe.0.3:$c803.1:$c993.$slideobject1275.2.0"></textarea>

我缺少什么以及如何解決這個問題?

.get()返回原始 DOM 元素的數組。 .eq()將它作為一個 jQuery 對象返回,這意味着 DOM 元素被包裹在 jQuery 包裝器中。

嘗試使用.eq()

item.eq(0).focus();

演示:

 //$("li").get(0).addClass('myClass1');//Uncaught TypeError: $(...).get(...).addClass is not a function $("li").eq(1).addClass('myClass2');
 .myClass1{ color: red; } .myClass2{ color: red; }
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <ul> <li id="foo">foo</li> <li id="bar">bar</li> </ul>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM