Jquery在不触发事件的情况下部分工作
Jquery works partly without events fires
我有一个html文件,里面有一些js文件和jquery。
文件1.js中的脚本运行良好。来自文件2.js的脚本也可以正常工作,但Jquery并不总是工作。所以我运行了一些脚本,结果它应该隐藏".popup"。一切都正常——我运行一条消息到控制台,但像hide()或click()这样的事件不起作用。
console.log("All done!");//works
console.log($(".popup"));//works fine – shows the right element in console
$(".popup").click();//doesn't work
$(".popup").hide();//doesn't work
我不想把所有的脚本都连接到一个文件中,并试图理解为什么一个文件的脚本总是很好,而另一个文件却不起作用。
有什么想法吗?
由于我们看不到您的大部分代码,我的答案只是一个很好的猜测:
原因是您的javascript是在DOM呈现之前执行的,因此尝试选择您的元素的$(...)
此时找不到它。
这就是为什么jQuery有一个ready
函数,它将在DOM准备好后执行:https://api.jquery.com/ready/
$(document).ready(function() {
$(".popup").click();
$(".popup").hide();
}
它适用于console.log
语句,因为传递给它的值是在函数执行后计算的。(实际上我不知道真正的原因,必须自己研究)
编辑:是Chrome浏览器';JavaScript控制台在评估数组方面懒惰吗?解释了console.log()
行为(仅铬)
相关文章:
- JavaScript while循环没有'不能在有条件的情况下工作
- 如何使html链接标签可以在没有标签的情况下工作
- Javascript变量在没有var的情况下工作
- 有没有一种方法可以让jQuery日期选择器在没有年份的情况下工作
- 窗口clearInterval()在没有参数的情况下工作
- 如何使HTML5在没有JS或Jquery的情况下工作
- 复选框检查器在表中不起作用.代码在没有表标记的情况下工作
- 让脚本在没有 .text 的情况下工作
- 我如何让这个 JavaScript 数字猜谜游戏在没有“while”或“for”循环的情况下工作
- 可以't使jQuery Sortable在没有列的情况下工作
- Facebook javascript sdk在没有ssl的情况下工作
- jQuery插件可以在没有元素的情况下工作
- Z索引无法在位置固定的情况下工作
- Chai这样的断言库如何在不强制调用函数的情况下工作
- google驱动器api-copyfile仅在具有访问驱动器中所有文件的权限的情况下工作(但jst需要复制)
- Javascript-目标DOM在一种情况下工作,而不是在另一种情况
- 使提交表单在不重定向或刷新的情况下工作
- .click函数在没有参数的情况下工作,但不使用参数
- 在IE中获得插入符号位置在一种情况下工作,在另一种情况下不工作
- 重定向到时找不到子路由,但在其他情况下工作正常