【问题标题】:How do I close this dialog using JQuery? Using Coffeescript?如何使用 JQuery 关闭此对话框?使用咖啡脚本?
【发布时间】:2011-12-19 04:43:42
【问题描述】:

我正在组合一个新应用程序,虽然我通常将 JQuery 用于此类事情,但我想将它与 Coffeescript 进行比较并选择正确的方法。此外,我想确保我了解如何使用 coffeescript 正确调用 JQuery。

对话框位于以下 div 中:

<div class="alert-message error">
  <a class="close" href="#">X</a>
  <p>Here is some error text</p>
</div>

样式在对话框的右边距放置一个“X”。当用户点击“X”时,整个 div 需要消失。

我将使用什么 JQuery 代码或 Coffescript 代码来关闭对话框?此对话框可以出现在站点中的任何页面上。

【问题讨论】:

    标签: javascript jquery ruby-on-rails ruby-on-rails-3 coffeescript


    【解决方案1】:

    试试这个:

    $('.close').click(function(){
      $(this).parent().hide(); //finds parent element of clicked .close and hides it
    });
    

    【讨论】:

    • 谢谢!绝对有效。我也希望有同等的咖啡本——有人吗?
    • @Kevin 对 CoffeeScript-ize 所要做的就是将 function 替换为 -&gt; 并放弃 { 大括号 }。 CoffeeScript 的第一条规则是“它只是 JavaScript”。 :)
    • @Trevor 谢谢。我实际上就是这样做并解决了它。这是一个简单的例子,我真的主要希望我能看到咖啡脚本方法的不同例子。 [顺便说一句 - 你能通过我的推特联系我吗?]
    【解决方案2】:

    这是使用 coffeescript 的 samura 代码

    $('.close').click() ->
        $(this).parent().hide()
    
    // or on 1 line
    $('.close').click() -> $(this).parent().hide()
    
    // fat arrow version, not 100% sure on this, typing from ipad
    $('.close').click(e) => $(e.target).parent().hide()
    

    http://jashkenas.github.com/coffee-script/

    【讨论】:

    • 我只有在第一行的开头添加一个前导 'jQuery ->' 后才能完成这项工作。所以一行是:jQuery -> $(".close").click -> $(this).parent().hide()
    • @Kevin 那么 JS 版本也同样如此。使用jQuery -&gt;(或者,等效地,$ -&gt;... 除非您在做一些不寻常的事情,否则您会发现$ == jQuery)只是确保您的代码在 DOM 加载后运行,因此 @当您选择 $('.close') 时,您的页面 HTML 中的 987654326@ 元素存在。
    猜你喜欢
    • 2013-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多