我正在使用jquery的bPopup()来打开一个模态窗口。当用户单击按钮时,jquery会加载ajax页面,然后显示模态窗口。由于加载页面时的这种小延迟,按钮保持活动状态,如果用户点击两次,它将触发两次,向服务器发出两个ajax请求并打开两个窗口。
有没有一种简单的方法可以防止这种情况发生?由于这是一个相对常见的问题,我想知道专业人士是否有一种“正确”的方式处理它。
我尝试将弹出窗口设置为window.object,以便在第二次调用时覆盖它,但它仍然会打开两个弹出窗口。
答案 0 :(得分:1)
这取决于你之后的用户体验,但我建议你禁用该按钮。
这样您的用户就会:
修改强>
根据评论,&#34;按钮&#34;实际上不是<button>
,而是带有onclick处理程序的元素。所以:
removeEventHandler
,onclick=null
...),但是一旦弹出,您就必须将其设置为完成了,这可能很烦人。但实际上,你可能最好拥有2&#34;版本&#34;您的按钮元素(<div>
...),一次只能显示1个,另一个隐藏在display: none
之内。 &#34;点击&#34;版本不应该设置单击事件处理程序。然后,当单击该按钮时,您立即在2之间切换(可以使用单个CSS类完成),一旦弹出完成,切换回来。