我正在尝试function
检查有效image url
并返回true
/ false
,具体取决于valid url
。
<script type="text/javascript">
function IsValidImageUrl(url) {
var valval = '1';
jQuery("<img>", {
src: url,
error: function(valval) { valval = '1'; alert('ERROR'); },
load: function(valval) { valval = '0'; alert('Success'); }
});
alert(valval);
return valval;
}
</script>
但是,即使在Success
上,它也会将valval
的值返回为1
。它没有将valval
的值设置为0
。
答案 0 :(得分:1)
您可以将回调用于您的目的
<script type="text/javascript">
function IsValidImageUrl(url, callback) {
jQuery("<img>", {
src: url,
error: function() { callback(1); },
load: function() { callback(0); }
});
}
//usage
IsValidImageUrl('text.jpg', function (val){
if (val == 0)
alert('success');
if (val == 1)
alert('error');
});
</script>
答案 1 :(得分:0)
这是因为您在请求完成之前返回了值。我在这里设置了一些回调,如下:
function IsValidImageUrl(url, callback) {
var valval = '1';
jQuery("<img>", {
src: url,
error: function(valval) { callback('1') },
load: function(valval) { callback('0') }
});
}