热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

处理JavaScript中按钮点击的最佳方式(香草)

如何解决《处理JavaScript中按钮点击的最佳方式(香草)》经验,请帮忙看看怎么搞?

编辑:我的问题可能过于广泛(仍在学习),但我收到了非常有用的答案.非常感谢你们的投入.我还纠正了我的代码以包含传递'事件'.


这是我在这里提出的第一个问题,所以我有点紧张......

我们走了:管理点击按钮并让它们触发不同功能的最佳方法(关于最佳实践,速度,兼容性等)是什么?

在研究这个问题时,我找到了一个关于Eloquent Javascript的例子并将其作为基础.

然后我通过使用"mapper"(这是正确的术语?)来扩展它,以找到正确的函数,具体取决于触发事件的按钮的id.

这是代码:

// functions I want to trigger
function one(e) {
  alert("You clicked " + e.textContent);
}

function two(e) {
  alert("You clicked " + e.textContent);
}

// mapper object to hold my functions
var buttOnMap= {
  b_one: function(event) {
    one(event.target)
  },
  b_two: function(event) {
    two(event.target)
  }
}

// Event Listener
var buttOnClick= document.body.addEventListener('click', function(event) {
  if (event.target.nodeName == "BUTTON") {
    var tar = event.target.id;
    buttonMap[tar](event)
  }
});

这个解决方案好吗?怎么改进?我可能遇到任何问题吗?

小小的奖励问题:另外,我想把整个东西包裹起来document.addEventListener("DOMContentLoaded", function() {}).

这是个好主意还是需要?在什么情况下我应该检查是否加载了DOM内容以及何时可以省略此检查?


推荐阅读
author-avatar
lily--妹妹
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有