当前位置:  开发笔记 > 编程语言 > 正文

JQuery重点

如何解决《JQuery重点》经验,为你挑选了4个好方法。

假设我有下一个标记:

First paragraph

Second paragraph

Third paragraph

Fourth paragraph

我想用Javascript添加一个新的div并专注于这个新元素.焦点没有做任何事情.

function addParagraph() {
  var html = "

New paragraph

"; $("#content").append(html); $("#newP").focus(); }

任何的想法?



1> 小智..:

我认为主要答案是错误的.DIV和P标签可以获得焦点,您可以为它们指定tabindex属性.即

指定tabindex后,您可以选中这些元素或使用.focus()移动焦点.

使用scrollTo插件在这里看起来有点过分.


如果您不想打扰页面中选项卡的顺序,则应使用tabindex ="0".如果您只想使用Javascript进行聚焦,并使div不可聚焦,请将tabindex =" - 1".Tabindex -1可以通过Javascript获得焦点,但不能通过按Tab键获得焦点.

2> nickf..:

您的代码没有问题,只是段落或div标签无法获得焦点.只能将焦点放在可以与之交互的事物上,例如链接,输入元素,textareas等.

要将窗口滚动到此新添加的元素,可以使用ScrollTo等插件.

另外,您的代码可以简化一下:

var html = "

New paragraph

"; $("#content").append(html); $("#newP p").focus(); var html = "

New paragraph

"; $(html) .appendTo('#content') .focus() // or scrollTo(), now... ;



3> User12334223..:

此代码将避免依赖于其他插件,并允许您在任何元素上使用它.

$('html, body').animate({ scrollTop: $("#newP").offset().top }, 500);



4> Todd Smith..:

您需要使用HTML页面锚点而不是焦点.例:

http://localhost/mypage.html#fourthP

推荐阅读
虎仔球妈_459
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有