【问题标题】:How to disable click event before page fully loaded? [closed]如何在页面完全加载之前禁用点击事件? [关闭]
【发布时间】:2014-02-27 04:53:40
【问题描述】:

我想在页面完全加载之前禁用点击事件。页面加载大约需要 45 秒,也取决于互联网速度。同时,加载的元素不应该是可点击的。 里面有很多链接,所以我只想禁用点击事件

【问题讨论】:

  • 给我一个解决方案 ...lol
  • 45 秒对于加载页面来说太长了。
  • 除了为什么加载时间太长之外,不需要禁用点击事件,提交后禁用按钮即可。
  • 里面有很多href链接。

标签: javascript php jquery javascript-events


【解决方案1】:

document.ready中绑定事件,它会确保所有DOM加载完成后事件被绑定。您应该重新考虑为什么页面花费了太多时间。

$(document).ready(function(){
    $('#button').click(function(){

    });   
});

虽然 JavaScript 提供了用于执行代码的加载事件,但当 页面被渲染,直到所有资产都不会触发此事件 如图像已完全接收。在大多数情况下, 一旦 DOM 层次结构已完全运行,脚本就可以运行 建造。传递给 .ready() 的处理程序保证是 在 DOM 准备好之后执行,所以这通常是最好的地方 附加所有其他事件处理程序并运行其他 jQuery 代码,jQuery doc

【讨论】:

    【解决方案2】:

    你可以在一个函数上绑定点击事件,然后在页面加载时就可以运行这个函数。

    $(window).on('load', function() {
      //make your binds here
    })
    

    【讨论】:

      【解决方案3】:

      就像我在评论中提到的那样,您可以在单击后禁用按钮,以便在事件调用完成执行之前无法单击它。比如:

          $('#btn').click(function(){
                  $(this).attr('disabled','disabled');
          });   
      

      Fiddle

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-07-11
        • 2015-04-22
        • 1970-01-01
        • 2021-07-09
        • 1970-01-01
        相关资源
        最近更新 更多