为什么我的JavaScript onmouseover事件不会触发?

时间:2015-09-21 17:27:57

标签: image meteor javascript-events onmouseover

在我的Meteor应用程序中,我想回应一个图像的onmouseover事件,并且"弹出"当鼠标悬停在图像上时(如#"放大")。我有这段代码:

HTML:

<template name="postTravelSection1">
  <div class="hide" id="postTSec1" name="postTSec1">
    <h2>Post-Travel Top</h2>
    <img id="imgPostTravelTop" name="imgPostTravelTop" src="images/1_PTE_Top_Jig.png" alt="post Travel image" height="280" width="350">
  </div>
</template>

CSS:

.popout_image{
    width: 400px;
    height: 320px;
}
.shadow {
    -moz-box-shadow: 3px 3px 4px #000;
    -webkit-box-shadow: 3px 3px 4px #000;
    box-shadow: 3px 3px 4px #000;
}

JavaScript的:

Template.postTravelSection1.events({
  // 'onmouseover #imgPostTravelTop': function() {
  'click #imgPostTravelTop': function() {
    $('#imgPostTravelTop').addClass('popout_image');
    $('#imgPostTravelTop').addClass('shadow');
    $('#imgPostTravelTopRight').removeClass('popout_image');
    $('#imgPostTravelTopRight').removeClass('shadow');
    $('#imgPostTravelTopCenter').removeClass('popout_image');
    $('#imgPostTravelTopCenter').removeClass('shadow');
    $('#imgPostTravelTopBottom').removeClass('popout_image');
    $('#imgPostTravelTopBottom').removeClass('shadow');
  }
});

&#34;点击&#34;活动工作正常,但&#34; onmouseover&#34; (当我尝试使用它而不是&#34;点击&#34;当然)不会触发。那么如何才能得到回复&#34; hover&#34;,&#34;输入&#34;或&#34; mouseover&#34;图像上的事件?

2 个答案:

答案 0 :(得分:2)

您要查找的事件是mouseentermouseleave。 Meteor网站上没有很好地记录可用事件,但您可以在Github上的this posting中看到它们的列表。

Template.postTravelSection1.events({
  'mouseenter #imgPostTravelTop': function() {
    //enlarge the image
  },
  'mouseleave #imgPostTravelTop': function() {
    //shrink the image
  }
});

答案 1 :(得分:1)

布莱恩的回答击中了头部。这是有效的(只需更改JavaScript):

Template.postTravelSection1.events({
  'mouseenter #imgPostTravelTop': function() {
    $('#imgPostTravelTop').addClass('popout_image');
    $('#imgPostTravelTop').addClass('shadow');
  },
  'mouseleave #imgPostTravelTop': function() {
    $('#imgPostTravelTop').removeClass('popout_image');
    $('#imgPostTravelTop').removeClass('shadow');
  }
});

Template.postTravelSection2.events({
  'mouseenter #imgPostTravelTopRight': function() {
   . . .