javascript - 如何带参数调用coffescript函数?

标签 javascript jquery backbone.js coffeescript

我创建了一个 coffescript 函数,其参数如下所示:

enlargeSelectionOn : (zoneSelected) ->
  $(zoneSelected).stop().animate 
    width:450
    height:510
    1000

html 部分如下所示:

 #container1
    .title1
        img(src="img/team.png")
        span.text First Title
        a(href="#")

CSS 部分(带手写笔)看起来像

#container1
  width 398px
  height 490px
  float left
  margin-right 11px
  border 2px solid $color6
  background-color $color5
  border-bottom-right-radius: 50px;
  box-shadow 4px 4px 8px #aaa
  .title1
    height 53px
    width 100%
    border-bottom 1px solid $color6
    color white
    background-color $color6

我创建了一个函数,当我将鼠标悬停在 div 上时为它的尺寸设置动画 所以我想用悬停事件来调用它:

    'hover div#container1' : 'enlargeSelectionOn("container1")'

但是这不起作用!我知道我的代码有问题

当我调用它时不带这样的参数

  'hover div#container' : 'enlargeSelectionOn'

工作正常

但在这种情况下,我被迫在函数内调用所选的 div

enlargeSelectionOn : () ->
  $('div#container1').stop().animate 
    width:450
    height:510
    1000

我想使用参数,因为我要将这个函数用于不同的 div 容器。

最佳答案

我认为您编写函数的方式不是正确的语法。应该是:

enlargeSelectionOn = (zoneSelected) ->
  $(zoneSelected).stop().animate 
    width:450
    height:510
    1000

要在悬停事件上调用此函数,您需要告诉 jQuery 在您的 div 悬停时调用函数 enlargeSelectionOn。为此,请使用以下代码:

$("div#container").hover(enlargeSelectionOn("container1"))

有关悬停功能的更多信息,请参阅 in the jQuery docs .

关于javascript - 如何带参数调用coffescript函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36284299/

相关文章:

javascript - 将项目添加到 ObservableArray() 并等待添加?

javascript - ECMAScript 6 支持 node.js 及其不同的包,例如原生的express body_parser

jquery - 由 javascript 创建的 css 动画

backbone.js - 在 .filter() 之后,如何从 Collection 中提取 .pluck() 值?

javascript - onClick 立即触发

javascript - 动态插入的 HTML 在我的表格元素中呈现为文本

javascript - 运行 webpack 从 npm-install-webpack-plugin 出现错误

php - 在新选项卡中打开外部 WooCommerce 产品 - 添加属性目标 ="_blank"

javascript - 如何禁用 Bootstrap datetimepicker

javascript - 使用 Backbone fetch 来检索列表