Как сфокусировать тег <tr>или <td>с помощью jQuery или JavaScript? - PullRequest
4 голосов
/ 19 декабря 2009
for(var i=0;i<tr.length;i++){
    var td = tr[i].getElementsByTagName("td");
    if(td[2].innerHTML==time && td[3].innerHTML==cls){
        td[0].setAttribute("id","focus");
        tr[i].style.backgroundColor="green";
        var foc = document.getElementById("focus");
        foc.focus();
        cnt++;
    }
    else{
        tr[i].style.backgroundColor="transparent";
    }

 }

Ответы [ 3 ]

8 голосов
/ 30 декабря 2010

Это слишком поздно, но вы МОЖЕТЕ сфокусироваться на элементе TD. Просто дайте ему свойство tabindex, а затем выполните фокус ().

Это работает для элементов DIV и почти для всех остальных.

Я пробовал это на Firefox 3.5 и выше.

2 голосов
/ 19 декабря 2009

Поскольку речь идет об изменении фокуса на TD или TR, ответ заключается в том, что вы не можете сосредоточиться на таких HTML-тегах; Вы можете изменить текущий фокусированный элемент, если это элемент ввода (текстовое поле, текстовое поле, флажок, радио) или ссылка, которые выделены особым образом при нажатии на вкладку ключа.
Если вы действительно пытаетесь сфокусироваться на поле ввода, как предлагает Джонатан Сэмпсон, то ответ, который он дал, является правильным.

В вашем коде вы действительно пытаетесь сфокусироваться на теге TD, тогда ответ на вопрос - нет.

1 голос
/ 19 декабря 2009

Похоже, у вас есть поле ввода с идентификатором "focus" в тд, так что я предполагаю, что вы хотите сфокусироваться на самом входе. С jQuery вы бы сделали это:

$("input#focus").focus();

Это приведет к тому, что фокус будет перенесен на этот конкретный элемент после его вызова Я вижу, что вы также пытались установить идентификатор конкретного TD как «focus»; Вы должны использовать уникальное значение идентификатора только один раз на страницу. Если вы чувствуете необходимость использовать одно значение для представления множества элементов, рассмотрите возможность использования имен классов вместо этого, поскольку их может быть любое количество на странице.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...