我正在制作一个Safari扩展程序,可以通过单击并按住图像轻松发布到tumblr。代码一切正常,除了,tumblr在页面上使用无限滚动功能(滚动时,使用我假设ajax将更多帖子加载到页面上)
由于某种原因,脚本无法识别加载的新帖子,并且从不调用图像点击处理程序 - 任何想法如何解决这个问题?
分机代码:
function confirmShare(src) {
var answer = confirm("Add image to queue?\n"+src)
if (answer){
$('body').append('<iframe class="quickpostframedatasend" height=0 width=0 style="display:none;" src="http://1hype.me/quickpost/saveimage.php?src=' + src + '"></iframe>');
}
}
var timeoutId = 0;
$('img').mousedown(function() {
src = $(this).attr("src");
timeoutId = setTimeout('confirmShare(src)', 900);
}).bind('mouseup mouseleave', function() {
clearTimeout(timeoutId);
});
答案 0 :(得分:0)
绑定仅适用于DOM中已有的元素。尝试使用.live()或.delegate()http://api.jquery.com/delegate/
另外,请记住使用.die()/。undelegate()作为oposite方法,否则你的请求会成倍增加。
答案 1 :(得分:0)
检查jQuery live 功能 http://api.jquery.com/live/
$("img").live("mousedown", function() {
src = $(this).attr("src");
timeoutId = setTimeout('confirmShare(src)', 900);
}).live("mouseup", function() {
clearTimeout(timeoutId);
}).live("mouseleave", function() {
clearTimeout(timeoutId);
});