Internet Explorer onclick-> focus не работает правильно - PullRequest
1 голос
/ 04 ноября 2011

У меня есть функция, использующая jQuery

function enableField(fieldID) {
    $("#" + fieldID).removeAttr('disabled').focus().select();
}

, которая вызывается из следующего кода внутри HTML-страницы

    <input id="phone_nr" name="phone"
           type="text" size="30" value="12345"/>

    <a href="javascript:void(0);" 
       onclick="enableField('phone_nr'); return false;">Change</a>

Поле ввода изначально отключено.Таким образом, вызов метода JS включает его снова, затем фокусируется на поле и выделяет текст для редактирования.

Internet Explorer (9) не делает это должным образом (все другие браузеры делают),При нажатии на ссылку «изменить» ничего не происходит.

Ответы [ 2 ]

1 голос
/ 04 ноября 2011
<input id="phone_nr" name="phone" type="text" size="30" value="12345"/>
<a href="#" id="mylink">Change</a>

Удалил ваш встроенный JavaScript и заменил его следующим:

$(document).ready(function() {
    $('#myLink').click(function(e) {
        e.preventDefault();
        $('#phone_nr').removeAttr('disabled').focus().select();
    });
});

Не ясно, будет ли у вас ссылка «Изменить» для каждого поля, но если вы сделаете…*

<input id="field0" name="phone" type="text" size="30" value="12345"/>
<a href="#" id="mylink-0">Change</a>

<input id="field1" name="name" type="text" size="30" value="name"/>
<a href="#" id="mylink-1">Change</a>

<input id="field2" name="fax" type="text" size="30" value="12345"/>
<a href="#" id="mylink-2">Change</a>

$(document).ready(function() {
    $('a[id|="mylink"]').each(function (i) {
        $(this).click(function(e) {
            e.preventDefault();
            $('#field' + i).removeAttr('disabled').focus().select();
        });
    });
});
0 голосов
/ 04 ноября 2011

Попробуйте добавить обработчик ссылки на ссылку в событие document.ready:

    $(document).ready(function () {
       $("#mylink").click(function(){
         $("#phone_nr").removeAttr('disabled').focus().select();    
       });
    })

...

    <a href="javascript:void(0);" id="mylink">Change</a> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...