2012-09-10 83 views
1

假设我有一个HTML字符串,像这样:jquery自动映像重新加载src属性更新?

var string = '<div><img src="foo/bar" /></div>'; 

,我选择它的图像部分,像这样:

var $img = $(string).find('img'); 

,然后我改变 'SRC' 属性:

$img.attr('src', 'foo2/bar2'); 

这是否会在新的'src'触发一个自动的AJAX获取请求?当我注释掉上面的行时,我的代码中出现了一个流氓GET错误,但它可能来自其他地方。

如果这实际上来自Jquery,有没有办法关闭或阻止AJAX请求?我已经试过.stopPropogation()没有任何运气...

回答

1

如果$img是一个真正的dom elemnt(存在于你的html中) - 一个获取请求将触发。
如果$img是不是你将不会触发一个GET请求,但你仍然可以通过触发它:

$img[0].src = '/foo/bar' 

example

你可以从图像渲染停止浏览器的唯一方式是通过停止它:

if(window.stop !== undefined) 
    window.stop();  
else if(document.execCommand !== undefined) 
    document.execCommand("Stop", false); 
+0

thanks @sagivo!实际上,所讨论的字符串绝对不在DOM中,而是从DOM复制的字符串(作为字符串)。但是,获取电话真的好像来自于这个地方的代码... – Petrov

+0

这将不再工作,悲伤。我收到了有关使用$ .find()或对img src进行后续更改的请求。 –