我不确定我在这里做错了什么。在这里和JSFiddle工作正常,但当我尝试将代码集成到我的WooCommerce网站时,它没有做任何事情。
我的代码很简单,只是……
您的Custom.js有这种代码 $(window).load(et_all_elements_loaded);
请用下面的代码替换该代码 $(window).on(“load”,et_all_elements_loaded);
存在冲突问题。
请更换 jQuery 同 $ 让我知道
jQuery
$
希望这有帮助。
var _URL = window.URL || window.webkitURL; jQuery("#filecheck").change(function() { var file, img; if ((file = this.files[0])) { img = new Image(); img.onload = function() { if (this.width < 1800 && this.height < 1800) { jQuery('.pass').css('display', 'none'); jQuery('.fail').css('display', 'block'); } else { jQuery('.pass').css('display', 'block'); jQuery('.fail').css('display', 'none'); } }; img.src = _URL.createObjectURL(file); } });
看起来您可能在对象存在于DOM之前附加处理程序。如果我在加载后将脚本注入页面(即将其复制并粘贴到JavaScript控制台中),那么它似乎可行。
你可以尝试三件事:
您可以尝试将侦听器附加到 document 首先,它始终存在,然后使用 #filecheck 选择:
document
#filecheck
$(document).on('change', '#filecheck', function () { // Your code here });
这可能不是最好的性能,但可以做到这一点。
您也可以尝试将代码包装在一个 ready() 处理:
ready()
$(document).ready(function() { // Your event handler code });
您还可以尝试将文件处理脚本移动到文档正文的末尾,看看是否有效。