表单内的按钮不可访问

时间:2018-10-16 08:07:19

标签: javascript jquery html events event-handling

我正在尝试使用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代码之前呈现。谢谢。

3 个答案:

答案 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!")
       });
    });