Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
onclick函数需要执行一个简单的javascript函数_Javascript_Jquery - Fatal编程技术网

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

onclick函数需要执行一个简单的javascript函数,javascript,jquery,Javascript,Jquery,我有一个按钮,我试图添加点击jquery,如下所示 <button onclick="myFunction()">YES</button> 但是,单击后,我得到了未捕获的引用错误:myFunction未定义 我做错了什么?如何修复 使用示例JSFIDLE更新 将代码更改为: $(document).ready(function() { window.myFunction = function(){ //you should make myFunction av

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

<button onclick="myFunction()">YES</button>
但是,单击后,我得到了未捕获的引用错误:myFunction未定义

我做错了什么?如何修复

使用示例JSFIDLE更新


将代码更改为:

$(document).ready(function() {
    window.myFunction = function(){  //you should make myFunction avaliable in global
        $('#mycheckboxdiv').toggle();
        $("div#headersteptwo").addClass("hidden");        
    }
})

将代码更改为:

$(document).ready(function() {
    window.myFunction = function(){  //you should make myFunction avaliable in global
        $('#mycheckboxdiv').toggle();
        $("div#headersteptwo").addClass("hidden");        
    }
})
我做错了什么?如何修复

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

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

function myFunction(){
    $('#mycheckboxdiv').toggle();
    $("div#headersteptwo").addClass("hidden");        
}
如果您操作DOM,并且仅当您将脚本放在HTML文档中的元素之前时,才需要使用
$(document).ready(function(){…});


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

您可能需要向按钮添加一个类或ID,以使选择器更具体

我做错了什么?如何修复

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

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

function myFunction(){
    $('#mycheckboxdiv').toggle();
    $("div#headersteptwo").addClass("hidden");        
}
如果您操作DOM,并且仅当您将脚本放在HTML文档中的元素之前时,才需要使用
$(document).ready(function(){…});


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


您可能需要向按钮添加类或ID,以使选择器更具体。请查看。

将代码更改为这种方式,以实现单击:

<button id="myFunction">YES</button>

请在以下位置进行检查:

将代码更改为这种方式以实现单击:

<button id="myFunction">YES</button>

检查以下位置:

您的小提琴中没有包含jQuery。您无法全局访问另一个函数中的函数。您必须将内部函数全局设置为
window.myFunction=function(){alert('it work now');}
fiddle中没有包含jQuery。您无法全局访问另一个函数中的函数。您必须将内部函数全局设置为
window.myFunction=function(){alert('It work now');}
谢谢。好极了。帮了我很多忙!请注意,在您的小提琴中,JavaScript代码已经放置在就绪事件处理程序中。您还必须将选项从
onLoad
更改为
no wrap
。谢谢。好极了。帮了我很多忙!请注意,在您的小提琴中,JavaScript代码已经放置在就绪事件处理程序中。您因此,必须将选项从
onLoad
更改为
no wrap