我正在对fancybox 使用以下调用: $.fancybox.showActivity(); 显示加载动画。它适用于 Firefox 和 IE。然而,Chrome 和 Safari 非常不一致。因此,为了测试调用是否有问题,我创建了一个按钮并通过 JS 函数附加调用。当我单击按钮(以验证呼叫本身是否有效)然后按下实际上是我正在对其进行编码的按钮时,它就会起作用。但是,如果我不按(验证测试)按钮,而只按实际代码按钮,则它不会显示。我也可以在调试器中看到 div。这种不一致的功能有什么原因吗?
代码片段:
验证测试按钮:
<button type="button" onclick="checkFancybox();">Check Fancybox</button>
<script>
function checkFancybox(){
$.fancybox.showActivity();
alert("Fancybox call completed.");
}
</script>
实际编码按钮:
<form id="video-upload-form" action="{url}?nexturl={nextUrl}"
method="post" enctype="multipart/form-data" >
<input name="file" type="file"/>
<input name="token" type="hidden" value=""/>
<input value="Upload Video File" type="button" name="submitVideoUpload"
onClick="checkFile()" class="button" />
</form>
<script>
function checkFile(){
//RegEx for valid file name and extensions.
var fileVal = document.forms["video-upload-form"].elements['file'].value;
if(fileVal != ""){
//notify user of activity
$.fancybox.showActivity();
document.getElementById('vintro-upload-form').submit();
}else{alert('Please select the Video file.');}
}
</script>
谢谢。