jQuery触发器(“click”)不起作用

时间:2017-03-31 05:43:59

标签: javascript jquery html css

有人可以解释粘贴代码有什么问题。它会在悬停时显示警报,但不会像我预期的那样执行点击事件,并且点击对<a>标记或<select>标记无效。我的目的是通过触发点击事件来扩展悬停上的select元素

<!DOCTYPE html>
<html>

<head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>
</head>

<body>
    <a id="linkElement" href="www.google.co.uk">click</a>

    <select name="cars" id="selectElemet">
      <option value="volvo">Volvo</option>
      <option value="saab">Saab</option>
      <option value="fiat">Fiat</option>
      <option value="audi">Audi</option>
    </select>


    <script>
        $(document).ready(function () {
            $("#selectElement").mouseover(function () {
                $("#selectElement").trigger("click");
            });

            $("#linkElement").mouseover(function () {
                alert('here');
                $("#linkElement").trigger("click");
            });
        });
    </script>
</body>

</html>

5 个答案:

答案 0 :(得分:2)

.trigger("click")实际上不会单击该元素,它只会触发随元素附加的点击处理程序。由于你没有附加任何没有被触发。

您可以使用原生.click()

$("#selectElement").get(0).click(); //get(0) returns reference to DOM element

答案 1 :(得分:2)

您的ID属性中存在拼写错误。将'selectElemet'替换为'selectElement'。希望有所帮助。

答案 2 :(得分:2)

触发器(&#39;点击&#39;)只是在您设置了“点击”的地方发生了带有元素的事件,而非物理的点击&#39;。例如,触发(&#39;点击&#39;)甚至不会触发&#39;&#39;标签如果附加没有&#39;点击&#39;

答案 3 :(得分:1)

试试这个,

$('#selectElement').on('change', function() {
});

答案 4 :(得分:1)

将click事件处理程序添加到元素中。然后它才会起作用。

检查以下代码段。

尝试将鼠标放在链接上,它将触发click事件处理程序。

&#13;
&#13;
$(document).ready(function() {
  $("#linkElement").mouseover(function() {
    $("#linkElement").trigger("click");
  });
  $("#linkElement").click(function(){
    window.location.href=$("#linkElement").attr("href");
  });
});
&#13;
<!DOCTYPE html>
<html>

<head>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>
</head>

<body>
  <a id="linkElement" href="www.google.co.uk">click</a>

  <select name="cars" id="selectElemet">
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="fiat">Fiat</option>
  <option value="audi">Audi</option>
</select>
</body>

</html>
&#13;
&#13;
&#13;