在Internet Explorer中更改元素属性的Jquery问题

时间:2010-10-08 02:43:41

标签: internet-explorer jquery-selectors

我正在使用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,但不适用于Internet Explorer。

有什么想法吗?

IE调试器指向Jquery第69行字符15.不知道要进一步调查它。

更新

我通过使用focusOut()而不是change()

解决了上述问题

但我还不确定是否有更好的解决方案

1 个答案:

答案 0 :(得分:0)

http://jsfiddle.net/pNZTe/

keyup代替focusOut,我稍微清理了你的href转换器:

$("#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");
});