同时使用普通的javascript和jquery两次调用相同的函数

时间:2017-01-30 09:57:52

标签: javascript jquery html

执行这段代码可能会出现什么问题?

function function1() {
  $(document).ready(function() {
    $("#button").click(function() {
      $("button").hide();
    });
  });
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id='button' onclick='function1()'>Okay</button>

1 个答案:

答案 0 :(得分:2)

  

执行这段代码可能会出现什么问题?

在这种特殊情况下?这对用户来说会让人感到困惑和沮丧。您的代码会等到用户在连接第二个单击处理程序之前单击该按钮。然后,当用户单击按钮第二时,该按钮将消失。然而,这可能是最好的,因为如果它没有消失但是做了别的事情,那么每次点击都会让它再次做那件事:

  • 第一次点击=似乎没有任何反应
  • 第二次点击=事情发生一次
  • 第三次点击=事情发生两次
  • 第四次点击=事情发生了三次

...因为您不断添加更多点击处理程序。

选一个。要么使用DOM0 onxyz - 属性,要么将处理程序与现代事件处理联系起来(通过jQuery与否,这取决于你)。后者通常是一个更好的主意。