当用户单击按钮时,我正在动态加载文件。有两种不同的源码路径是硬编码的。当用户单击按钮时动态加载文件
当用户单击按钮时,它应该尝试使用第一个路径加载文件。如果在加载文件时出错,它应该尝试使用第二个路径加载文件。如果第二个路径出现错误,它应该退出并退出尝试并发出消息“文件未找到”。
这里是我的代码:
var bt = $("bt");
var file = "http://www.website.com/files/filename.jpg;
var file2 = "http://www.website.com/files/file2.jpg;
bt.on('click', function(){
$('#mb').attr('src', file);
$('#mb').on('error', function(){
$('#mb').attr('src', file2);
$('#mb').on('error', function(){
alert('no files could be found');
return;
});
$('#loadHere').load();
});
$('#loadHere').load();
});
它的工作原理,只要其中的一个文件中找到。但是,如果两者都未找到,它将保持循环,因为它不能从错误函数中跳出第一个循环。
我真的很感谢大家的帮助。
谢谢。
,那岂不是更好,如果你使用的方法'one',而不是'on'到事件'error'的元素绑定?我认为这避免了绑定更多的事件,而不是必要的,因为你正在使用递归函数,并且'on'方法不会自动为你解除绑定事件。只是一个想法。 – PanterA
这是一个伟大的想法,@ rbyte。会相应地更新答案! – Jack