我正在尝试附加悬停动作,但正在立即调用悬停动作

Posted

技术标签:

【中文标题】我正在尝试附加悬停动作,但正在立即调用悬停动作【英文标题】:I am trying to attach a hover action, but the hover action is being called immediately 【发布时间】:2012-12-01 20:06:16 【问题描述】:

我正在编写我的第一个 jQuery 插件。我正在尝试添加悬停动作,但会立即调用悬停响应。这是我的插件:

(function($)
  var Help = function(element, options) 
    this.$element = element;
    this.options = $.extend(, $.fn.help.defaults, options);
  ;

  Help.prototype.hover = function(name)
    alert(name);
  ;

  $.fn.help = function(option)
    return this.each(function () 
      var $this = $(this);
      var help = $this.data('help');
      var options = "";
      var data = $this.data('help-id');
      if(!help) 
        $this.data('help', (help = new Help(this, options)));
      
      $this.on('hover', help.hover(data));
    );
  ;
)(jQuery);

我用$('#one').help() 附加了我的插件,但这会立即调用悬停函数。我究竟做错了什么?

【问题讨论】:

【参考方案1】:

您不是将函数传递给on,而是函数调用的结果。

替换

$this.on('hover', help.hover(data));

$this.on('hover', function()help.hover(data));

【讨论】:

完美。谢谢您的帮助。当我允许时会接受答案。 (8 分钟)

以上是关于我正在尝试附加悬停动作,但正在立即调用悬停动作的主要内容,如果未能解决你的问题,请参考以下文章

当行悬停在 ag-grid 中时,在单元格中呈现附加信息

如何创建带有“可悬停”区域的图像,在 jQuery 或 HTML5 中显示附加信息

如何摆脱悬停时附加的内置CSS?

延迟 Javascript 悬停动作

jQuery 附加 DM 事件不再起作用

CSS下拉菜单打开:悬停