元素mousedown事件里调用 alert 等阻塞方法会阻止click 事件的执行?

风动之石 2015-08-19 05:48:27
我在btn元素上添加了 onclick 和 onmousedown 事件,但是如果在 onmousedown 事件里执行 click 或者 confirm 等方法后,btn 元素的 onclick 方法就不执行,请问这是什么原理?


<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<button id="btn">btn</button>
<script type="text/javascript">
var btn = document.getElementById('btn');
btn.onclick = function () {
btn.style.backgroundColor = 'red';
}
btn.onmousedown = function () {
alert(1); // 或者 用 confirm 等阻塞的方法
}
</script>
</body>
</html>
...全文
361 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
DaveLeeCN 2015-08-24
  • 打赏
  • 举报
回复
alert弹出的对话是浏览器内置的样式,几乎无法修改,焦点转移的话可以使用模态框,也就是自定义的对话框
风动之石 2015-08-23
  • 打赏
  • 举报
回复
引用 1 楼 clark_kidd 的回复:
你按钮按下去,弹出alert框,焦点转移到弹出框上,mouseup 的动作是在弹出框上发生的 所以,你并没有对该对象做一个完整的 click 动作(mousedown+mouseup)
感谢讲解,请问有没有哪些理论、书籍或者规范上有“弹出alert框焦点转移”相关的知识?我想多了解了解。
香蕉猪 2015-08-21
  • 打赏
  • 举报
回复
click=mousedown+mouseup
clark_kidd 2015-08-20
  • 打赏
  • 举报
回复
你按钮按下去,弹出alert框,焦点转移到弹出框上,mouseup 的动作是在弹出框上发生的 所以,你并没有对该对象做一个完整的 click 动作(mousedown+mouseup)
内容概要:本文系统研究了Picard迭代法在非线性常微分方程参数估计中的应用,深入阐述了该方法的数学原理及其在参数辨识中的收敛性与稳定性优势。通过构建最小化误差的目标函数,并结合数值积分技术,采用迭代方式逐步逼近系统的真实参数值,有效解决了非线性动态系统中因缺乏解析解而难以进行精确建模的问题。文中提供了完整的Matlab代码实现,涵盖模型定义、迭代求解、参数更新与结果可视化等关键环节,增强了方法的可操作性与工程实用性。研究通过典型非线性系统案例验证了算法的有效性,展示了其在科学计算与工程建模中的良好适应性与推广潜力。; 适合人群:具备常微分方程理论、数值分析基础及Matlab编程能力,从事系统建模、参数辨识、动力学仿真等相关方向的研究生、科研人员和工程技术开发者。; 使用场景及目标:①解决实际工程中非线性微分方程模型的未知参数估计问题;②深入理解Picard迭代法在科学计算中的实现机制与数值特性;③为学术论文复现、科研项目开发或课程设计提供可运行、易调试的技术方案与代码参考。; 阅读建议:建议读者结合文中的数学推导与Matlab代码逐行分析,重点关注迭代流程、目标函数构造与数值积分的耦合实现,通过修改模型结构或噪声条件进行扩展实验,以深化对算法鲁棒性与适用边界的理解。配套资源可通过指定公众号和网盘链接获取,推荐同步学习以加速科研进程。

87,986

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧