javascript - 在页面加载时使用 onclick 还是连接点击处理程序更好

标签 javascript

假设我有这样的标记:

<form action="foo">
    <input name="bar" />
    <button type="button">Save</button>
</form>

<script>
    function baz() {
        // Submit form via AJAX
    }
</script>

将这个添加到 <button> 中是否更好? :

onclick="baz()"

或将其添加到 <script> (假设 jQuery):

$(function(){
    $('button').on('click', baz);
});

我看到很多关于禁止内联 javascript 的最佳实践的废话,我倾向于同意。但是我想知道文档加载/就绪时的手动连接是否混淆了正在发生的事情,因为它删除了使用 onclick="baz"时存在的所述连接的上下文。

是否存在可维护性问题?这两种方法的其他优点/缺点?我的核心问题是,对于使用内联 javascript 的这个特定方面,行业达成了怎样的共识(假设这通常不是一个好的编码实践)?

最佳答案

第二种方式比较好

$(function(){
    $('button').on('click', baz);
});

它被称为Unobtrusive JavaScript将功能/行为与页面结构分开。

关于javascript - 在页面加载时使用 onclick 还是连接点击处理程序更好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10642113/

相关文章:

javascript - 如何在 Javascript 中通知上次 Web 服务调用何时完成?

javascript - 使用ajax将地理定位添加到数据库

javascript - 如何执行 Mongoose 验证功能仅用于创建用户页面而不编辑用户页面?

javascript - 像 Python 一样的 NodeJS 字符串格式?

javascript - 防止提交空白表单

javascript - JQuery 下拉框行为

javascript - 对 JSON 数组进行排序并使用 $.each 进行回显

javascript - 移动网站滚动问题

javascript - 在 jQuery 中本地化全局 namsapce

javascript - 在页面加载jquery时隐藏子菜单