Проблема JQuery с изменением атрибута элемента в Internet Explorer - PullRequest
0 голосов
/ 08 октября 2010

Я использую Jquery для создания динамических ссылок на основе пользовательского ввода.У меня есть набор элементов в моем загруженном ajax div, который выглядит следующим образом

<div class="mxcell">
<input type="text" size="40" class="input_name" value="">
<a href="#" target="_blank" class="dyn_link">
<img src="http://127.0.0.1/images/arrow_right.gif">
</a>
</div>

Теперь в Jquery я пишу

$(function(){
$("#right").delegate(".input_name", "change", function(){
var dyn_link = $(this).val()
$(this).parent().find("a").attr("href", "http://www.example.com/"+ dyn_link +".html");
});
});

Это прекрасно работает в Chrome / Firefox, но не в ИнтернетеExplorer.

Есть идеи?

Отладчик IE указал на строку 69 строки Jquery 15. Не знал бы, что исследовать это дальше.

ОБНОВЛЕНИЕ:

Я решил вышеупомянутое, используя focusOut () вместо change ()

Но я все еще не уверен, есть ли лучшее решение

1 Ответ

0 голосов
/ 17 апреля 2011

http://jsfiddle.net/pNZTe/

Я бы keyup вместо focusOut, и я немного почистил ваш чейнджер:

$("#right").delegate(".input_name", "keyup", function() {
    var $this = $(this);
    var dyn_link = $this.val();
    $this.next("a").attr("href","http://www.example.com/" + dyn_link + ".html");
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...