javascript - onclick函数需要执行一个简单的javascript函数

标签 javascript jquery

我有一个按钮,我试图在其中添加点击 jquery,如下所示

<button onclick="myFunction()">YES</button>

还有

$(document).ready(function() {
    function myFunction(){
        $('#mycheckboxdiv').toggle();
        $("div#headersteptwo").addClass("hidden");        
    }
})

但是,单击时我收到 Uncaught ReferenceError: myFunction is not Defined

我做错了什么以及如何解决这个问题?

使用示例 jsfiddle 进行了更新

http://jsfiddle.net/3aC7W/1/

最佳答案

What am I doing wrong and how to fix this?

您正在另一个函数内定义该函数,即该函数在全局范围内定义,因此无法被内联事件处理程序找到。

只需删除 $(document).ready(function() { 因为您不需要它:

function myFunction(){
    $('#mycheckboxdiv').toggle();
    $("div#headersteptwo").addClass("hidden");        
}

如果您操作 DOM,并且只有将脚本放在 中的元素之前,则只需使用 $(document).ready(function() { ... }); HTML 文档。

<小时/>

当然,更好的解决方案是将事件处理程序与 jQuery 绑定(bind)(而不是使用内联事件处理程序):

$(document).ready(function() {
    $('button').on('click', function(){
        $('#mycheckboxdiv').toggle();
        $("div#headersteptwo").addClass("hidden");        
    });
});

您可能需要向按钮添加类或 ID 以使选择器更加具体。看看list of available selectors .

关于javascript - onclick函数需要执行一个简单的javascript函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21324687/

相关文章:

javascript - 如何检索选择框中所选选项的从零开始的索引?

javascript - Ajax jQuery 从先前的查询中检索数据

javascript - 如何在 promise 的 then 回调中设置 `this` 的上下文

javascript - 在新窗口打开的 Web 资源中使用 Xrm.WebApi 方法

javascript - 如何使用 jQuery 向表中添加新行,并为其分配递增的 id

jquery - HTML5 视频全屏不适用于 iPad

javascript - 使用带有ajax和jquery的api调用初始化物化自动完成数据集

javascript - 边缘情况 : Kendo Web UI Grid 'Select' method not working properly

javascript - jQuery:从 anchor 获取 onclick 函数的返回值

javascript - 我可以向不同主机的 iframe 授予显式 Javascript 方法吗?