Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.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
Javascript/jQuery新手错误,mouseenter事件导致语法错误_Javascript_Jquery_Syntax_Syntax Error - Fatal编程技术网

Javascript/jQuery新手错误,mouseenter事件导致语法错误

Javascript/jQuery新手错误,mouseenter事件导致语法错误,javascript,jquery,syntax,syntax-error,Javascript,Jquery,Syntax,Syntax Error,当触发mouseenter事件时,我试图应用一种样式,但如果我取消注释以下未触及的选择器,即使文档就绪也会停止工作 <body> <div id="1" class="button untouched"></div> <script src="/jquery.js"></script> <script> $(document).ready(function(){ alert("JQuery is working");

当触发
mouseenter
事件时,我试图应用一种样式,但如果我取消注释以下未触及的选择器,即使文档就绪也会停止工作

<body>
<div id="1" class="button untouched"></div>
<script src="/jquery.js"></script>
<script>
$(document).ready(function(){
    alert("JQuery is working");
});

/*
$(".untouched").mouseenter($function(){
    $(this).addClass("touched");
});
*/
</script>
</body>
因为它不起作用,我犯了一个错误,但我不知道是什么。我所知道的是,如果我让它运行,我的所有代码都不会工作。我下载了jQuery的最新1.7.2版本,我知道该版本在页面上可用,因为
alert()
运行时另一个被注释掉了。

在脚本中
$(“.untouched”)
部分应该在
ready
函数中。而且

mouseenter($function(){
符号不正确

您的最终脚本应如下所示:

$(document).ready(function(){
    alert("JQuery is working");

    $(".untouched").mouseenter(function(){
        $(this).addClass("touched");
    });
});

不需要函数前面的$。另外,mouseenter事件函数代码应该在文档中

<script>
     $(document).ready(function(){
         alert("JQuery is working");

         $(".untouched").mouseenter(function(){
             $(this).addClass("touched");
         });
     });
</script>

$(文档).ready(函数(){
警报(“JQuery正在工作”);
$(“.untouched”).mouseenter(函数(){
$(此).addClass(“触摸”);
});
});

您有一个额外的
$
您不应该在单词
函数
前面。您可能还想删除未触及的
类:

$(".untouched").mouseenter(function(){
    $(this).removeClass("untouched").addClass("touched");
});

您可以从css轻松地执行此操作

    .untouched 
       {
       background: green;
      }

    .untouched :hover
      {
       background: blue
       }
在JQuery中,如果你想使用.mouseover函数,你需要使用的函数-一个用于鼠标放在上面时,一个用于鼠标未放在上面时。这在css中更容易,只有一个:悬停过滤器

       $('.untouched').mouseover(function() {
               $(this).addClass('touched');
                     });
       $('.untuoched').mouseout(function() {
              $(this).removeClass('touched');
                      });

这是Javascript语法错误,不是jQuery问题。@JaredFarrish我怎么能检测到这个打字错误?我习惯于编译语言?我会使用Firebug或Chrome控制台。@AdrianCornish在带有控制台的浏览器中运行代码(大多数现代浏览器都内置了控制台)。我使用Chrome并点击F12。如果你进入出现的开发工具中的console选项卡,你会看到任何Javascript错误。因为我认为这不会有任何结果,所以我编辑了这个问题,使它更具体地描述了它所描述的实际问题。请随意更正我犯的任何错误。没有理由将代码移到
$(文档).ready
警报(“JQuery正在工作”);
实际上也不需要在它里面。@palp.R.O.-你的意思是在
doc.ready
中不需要它的原因是因为它引用的元素已经在DOM中了吗?@JaredFarrish是的。你为什么要等到整个DOM都准备好了才可以马上做呢:)@保罗P.R.O.-我想确保这一点得到澄清。对于初学者来说,最初的评论可能很容易让人困惑。我的观点是,这个问题应该被关闭,因为太本地化了。@AdrianCornish-像这样的问题太多了,它要么是重复的,要么整体价值很低。对于一些人来说,为了他们的公关而故意发现这个问题是非常困难的问题是,这只是噪音。没什么大不了的。另外,我会回顾PaulP.R.O.的答案,他的建议可能是一个很好的建议。谢谢Scott。事实上,我想创建一种Android类型的锁屏,通过在网格上移动鼠标来选择一种模式——我简化了,因为它不起作用。一旦选择了“密码”,我想解锁一个新的屏幕。我想删除这个类——因为Add依赖CSS替换规则。我仍然试图让我的头从C++世界中得到jQuery语法————-我以前有类似于2个位置的东西——但这似乎更多的是jQuery样式。
       $('.untouched').mouseover(function() {
               $(this).addClass('touched');
                     });
       $('.untuoched').mouseout(function() {
              $(this).removeClass('touched');
                      });