scrollIntoView 和焦点问题

Kir*_*iva 2 javascript php jquery zend-framework

var mediaIdForFocus = '<?php echo $this->mediaIdForFocus; ?>';
if(mediaIdForFocus)
$('#flagimg'+mediaIdForFocus).get(0).scrollIntoView().addClass("selectedMedia"); // highlight class
$('.logoTxt').focus();
Run Code Online (Sandbox Code Playgroud)

我正在尝试调整 div 的滚动,$('#flagimg'+mediaIdForFocus)然后将焦点放在元素上$('.logoTxt')

滚动视图已调整到元素$('#flagimg'+mediaIdForFocus)$('.logoTxt').focus();但未提供焦点。它只发生在第一次。如果我刷新页面,它会按预期工作。

请帮我。

Mig*_*jal 8

要平滑地将元素滚动到视图中并将焦点设置为它,您可以执行以下操作

elm.scrollIntoView({behavior: 'smooth', block: 'center'});
elm.focus({preventScroll: true});
Run Code Online (Sandbox Code Playgroud)


Kir*_*iva 0

$(document).scrollTop(0);成功了

代码如下

// for setting the focus to selected media if it is chosen from media page.
var mediaIdForFocus = '<?php echo $this->mediaIdForFocus; ?>';
if(mediaIdForFocus)
   $('#flagimg'+mediaIdForFocus).get(0).scrollIntoView(); // highlight class
$(document).scrollTop(0);
Run Code Online (Sandbox Code Playgroud)