焦点div元素

时间:2011-09-13 13:59:36

标签: javascript jquery

概念:当用户单击“注释”链接时,将焦点对准。我的php页面中有两个链接。一个是comment link,另一个是readmore link。这两个链接转到同一页面但我想在点击评论链接时focus the div element

5 个答案:

答案 0 :(得分:1)

听起来你想要滚动到 div元素,而不是实际关注它。如果是,那么:

<a href="#id_of_div">comments</a>

如果您确实想要关注它(在仔细考虑是否应该使用更传统的用户控件,例如按钮之后):

  1. 为div提供tabindex属性
  2. 调用div的焦点方法
  3. e.g。

    <div id="foo" tabindex="0"> … </div>
    
    document.getElementById('foo').focus();
    

答案 1 :(得分:1)

如果它们都链接到名为more.php的网页,那么'readmore'链接可能只是链接:

href="more.php"

“评论”链接可能包含以下内容:

href="more.php?comment=1#commentbox"

然后可以使用comment查询字符串,如:

$(document).ready(function(){
    if (getParameterByName("comment") == 1) {
       $(".commentbox").focus();
    }
});

function getParameterByName(name)
{
  name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
  var regexS = "[\\?&]" + name + "=([^&#]*)";
  var regex = new RegExp(regexS);
  var results = regex.exec(window.location.href);
  if(results == null)
    return "";
  else
    return decodeURIComponent(results[1].replace(/\+/g, " "));
}

网址的#comment部分纯粹是出于锚点目的,将用户定位在网页的正确部分。

答案 2 :(得分:1)

<div id="commentContend" tabindex="0" contenteditable="true" 
  style="width:300px;height:200px;border:1px solid black;"></div>
<a href="#" 
   onclick="document.getElementById('commentContend').focus();return false;">
   Comment</a>

答案 3 :(得分:0)

所以简单地使用$('selector').focus()这对于输入或textareas来说非常有用

答案 4 :(得分:0)

您可以创建一个网址:http://mydomain.com/mypage.php#mysection,其中#mysection是您要关注的网页上的部分。

在您的部分之前添加<a name="mysection"/>之类的锚点。显然你会有一个用于“评论”,一个用于“readmore”。