jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了javascript – jquery中“.on”函数出错大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下html文件

<div id="tour">
 <h2>Paris,France Tour</h2>
 <p>$2,499 for 7 Nights</p>
 <button>See photos from our last tour</button>
 <ul class="photos">
   <li>
   <img src="/assets/photos/paris1.jpg">
   <span>Arc de Triomphe</span>
   </li>
   <li>
  <img src="/assets/photos/paris2.jpg">
  <span>The Eiffel Tower</span>
  </li>
  <li>
  <img src="/assets/photos/paris3.jpg">
  <span>Notre Dame de Paris</span>
  </li>
 </ul>
</div>

这是我的jQuery代码

function showPhotos()
{
    $(this).find("span").slideToggle();
}

$(document).ready(function() { 
    $("#tour").on("click","button",function() { 
        $(".photos").slideToggle();
    });

    $(".photos").on("mouseenter","li",showPhotos);
    $('.photos').on("mouSELEave",showPhotos);
});

代码有效,它显示鼠标进入img元素时的跨度.但是,当我尝试做同样的事情时:

function showPhotos()
{
    $(this).find("span").slideToggle();
}

$(document).ready(function() { 
    $("#tour").on("click",function() { 
        $(".photos").slideToggle();
    });
    $(".photos").on("mouseenter",function() {
        showPhotos();
    });
    $('.photos').on("mouSELEave",function() {
        showPhotos();
    });
});

它不起作用.由于我的知识有限,两个代码似乎都在做同样的事情.请帮帮我,第二个代码与第一个代码有什么不同?

解决方法

第二个例子在showPhotos()函数中没有这个上下文,你可以将元素作为参数传递:

function showPhotos(that)
{
    $(that).find("span").slideToggle();
}

$(document).ready(function() { 
  $("#tour").on("click",function() { 
    $(".photos").slideToggle();
  });
  $(".photos").on("mouseenter",function() {
      showPhotos(this);
  });
  $('.photos').on("mouSELEave",function() {
      showPhotos(this);
  });
});

与此问题无关,但稍微改进的是@L_16_11@mouSELEave事件,而不是再次重新选择.photos.

$(".photos").on("mouseenter",function() {
      showPhotos(this);
  }).on("mouSELEave",function() {
      showPhotos(this);
  });

大佬总结

以上是大佬教程为你收集整理的javascript – jquery中“.on”函数出错全部内容,希望文章能够帮你解决javascript – jquery中“.on”函数出错所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。