html - JS 在 HTML 页面的自定义标签内找不到标签
问题描述
我的项目有问题。在“index.html”页面中有一个自定义标签,其中有一个用作按钮的 DIV。我的项目有一个 js 文件,它是“script.js”。该文件具有在单击 DIV 时侦听的代码。我也在使用 jquery 库。文件“main.js”生成自定义标签。
index.html - 代码
<body>
<custom></custom>
<script content="text/html; src="//mymarialuisa.com/js/main.js" charset="utf-8"></script>
</body>
自定义标签里面有什么?- 代码
<div class='toggle_mic' id='switch'>
<div class='toggle-text-off'>OFF</div>
<div class='toggle-text-on'>ON</div>
</div>
script.js - 代码
$(document).ready(function(){
$('.toggle_mic').click(function(e){
e.preventDefault();
console.log("click");
});
});
我正常开发了所有这些文件,没有自定义标签或在远程服务器上加载“main.js”文件,一切正常。然后,当我引入自定义标签并在远程服务器上加载“main.js”文件时,DIV 按钮停止工作。“script.js”文件已正确加载;一切都正确加载,但是当我点击 DIV (.toggle_mic) 时它不起作用。
浏览器控制台没有报告任何错误!!!
解决方案
理想情况下,您应该在 vue而不是 jquery中连接您的点击操作。
请记住,document.ready()
从 运行时jquery
,vue 可能尚未完成更新 DOM。如果您坚持使用 jquery,请使用 jqueryon
而不是click
处理动态添加的对象。
如果你有custom
一个可识别的使用它作为你的父容器,否则使用body
,但你应该避免这种情况。
$(document).ready(function(){
$('body').on('click', '.toggle_mic', function(e){
e.preventDefault();
console.log("click");
});
});
推荐阅读
- powershell - 如何在 PowerShell 中找到部分路径的潜在源环境变量?
- reactjs - TypeError:Events.map 不是函数
- reactjs - 我可以将 Auth0 sdk 与有状态组件一起使用吗?
- android - 当我在 android 中使用特殊的底部导航栏时,键盘无法打开
- javascript - React Native Square 应用内支付,出现问题,代码:unexpected
- java - 数组中空指针异常的Java错误处理
- mysql - 如何在 Laravel 中调试 errno:150“外键约束格式错误”?
- java - 线程游戏循环导致 ArrayList 出现问题
- javascript - 我正在为一个类开发一个 Metric Converter 项目,但我不确定如何正确使用单选按钮?
- sql - 在 BigQuery SQL 中的范围内分隔