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

发布于 2024-09-26 18:25:42 字数 785 浏览 4 评论 0原文

我正在使用 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() 解决了上述问题

,但我仍然不确定是否有更好的解决方案

I am using Jquery to create dynamic links based on user input. I have a set of elements in my
ajax loaded div that looks like this

<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>

Now in Jquery I write

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

This works fine in Chrome/Firefox, but not in Internet Explorer.

Any ideas?

IE debugger pointed to Jquery line 69 character 15. Wouldn't know to investigate it further.

UPDATE:

I solved the above by using focusOut() instead of change()

But am not still sure whether there is a better solution

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

旧伤慢歌 2024-10-03 18:25:42

http://jsfiddle.net/pNZTe/

我会 keyup 而不是 < code>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");
});

http://jsfiddle.net/pNZTe/

I'd keyup instead of focusOut, and I cleaned up your href changer a bit:

$("#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");
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文