javascript - 尝试从内联 javascript 编写函数

标签 javascript jquery

我从一位离开我们公司的开发人员那里得到了一些代码。他写了一个内联函数,如下所示:

<button class="xxx" id="MyID" type="button" onclick="javascript: $('#openThis').slideToggle('slow');">btnText</button>

我尝试删除它并将其放入另一个函数中以编写回调,以便我可以在切换区域可见时滚动到它。

$("#MyID").click(function () {
    $("#openThis").slideToggle("slow");
});

但我似乎无法让它发挥作用。我做错了什么?

最佳答案

您是在 DOM 上创建对象之前还是之后添加监听器?

因为如果您尝试绑定(bind) onclick 函数而不等待文档准备好,则没有对象可以创建监听器。

类似这样的东西可以工作:

$(document).on('ready', function() {
  $("#MyID").click(function () {
    $("#openThis").slideToggle("slow");
  });
});

关于javascript - 尝试从内联 javascript 编写函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44517889/

相关文章:

javascript - 限制数组中的随机元素显示在图像标签中

JQuery Select2 下拉 onchange 选项文本颜色不改变

javascript - 引导日历禁用不起作用

javascript - 清理 Angular 部分

javascript - 使用 javascript 创建 html 表格

javascript - JS 文件在 webhost 中不工作,但在我的本地 xampp 上工作

ajax - 停止重复的 Ajax 提交?

jquery - 使用选择器加速此 jQuery 代码

javascript - 我们如何将数据动态传递给响应式日历中的事件?

animation - 实现动画 "sliding panels"最优雅的方式