jQuery 事件触发器一旦写入开发者控制台,为什么?

jQuery event triggers once written in developer console, why?

jQuery 事件触发器一旦写在开发者控制台,为什么?我如何让它在页面未刷新时每次都触发?

例如打开网页: http://www.express.co.uk/news

然后在开发者控制台中输入这段代码:

$ = window.jQuery;
var logo = $('#expressLogo img');
logo.css({"-webkit-transition":"-webkit-transform .8s ease-in-out","transition":"transform .8s ease-in-out;"})
logo.hover(function(e) { 
    logo.css({"-webkit-transform":"rotate(360deg)","transform":"rotate(360deg);"})
});

如您所见,事件在徽标悬停时触发一次,然后在悬停时不再重复。我试着写 on.("mouseenter mouseleave") 事件和其他一些与预期相同的结果。

我看到你的问题,你不需要 jQuery。您也可以使用纯 css 来完成。请检查。

.logo{
  -webkit-transition:-webkit-transform .8s ease-in-out;
  transition:transform .8s ease-in-out;
  }
  .logo:hover{
  -webkit-transform:rotate(360deg);
  transform:rotate(360deg);
  }
<img class="logo" src="http://www.dummymag.com/media/img/dummy-logo.png" />

希望对你有所帮助,如果不行请告诉我。

只要将鼠标悬停在元素上,它就会起作用。但它没有 mouseout 或 mouseleave 事件,所以它 returns 到 0degree 或从当前度数转换 360deg。所以它看起来工作一次。
您需要提供一个动态度数,例如 currentDegree + 360 或设置 mouseout 设置变换 0deg 的事件。