我正在尝试使用jQuery触发表单内按钮的点击事件。
$(".switchLang").on("click", function(e) {
console.log("Clicked!")
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form class="form-inline" action="">
<button type="button" class="btn mr-3 btn-link transparent switchLang">${{index.keys.lng}}$</button>
<button type="button" class="btn mr-3 btn-outline-light">${{index.keys.login}}$</button>
<button type="button" class="btn btn-primary">${{index.keys.getStarted}}$</button>
</form>
上面的函数没有被调用!
经过研究,我尝试了许多解决方案,但没有任何效果。就像在函数中添加e.preventDefault();
一样,也删除.click
并替换为.on
,依此类推,但是没有任何效果!
我已经提到了这个问题:here。
谢谢。
已解决
我仔细检查了我的代码。 html是在text / template类型的脚本内编写的,并且此模板在jquery代码之前呈现。谢谢。
答案 0 :(得分:1)
您可以尝试
$(document).on("click",".switchLang",function (e) {
console.log("Clicked!")
});
答案 1 :(得分:0)
尝试一下可能会帮助
$(document).on('click', '.switchLang', function (e) {
console.log("Clicked!")
});
答案 2 :(得分:0)
在添加点击处理程序之前,您需要等待文档准备就绪,例如:
$(document).ready(function () {
$('.switchLang').on('click', function (e) {
console.log("Clicked!")
});
});