【问题标题】:call javascript function from haml link_to从haml link_to调用javascript函数
【发布时间】:2012-10-28 13:39:24
【问题描述】:

当 onclick 甚至从 haml 中的 link_to 标记触发时,我想调用一个 javascript 函数(不带 JQuery)。我该怎么做?

【问题讨论】:

    标签: javascript onclick haml link-to


    【解决方案1】:

    以下是在 haml 中使用 Rails link_to 的方法:

    = link_to "my link", "", :onclick => "my_function(); return false"
    

    【讨论】:

    • 这个答案更有帮助。
    • @YuraVasylenko ();执行功能。 my_function without is "Hey, i'm a function"... with (); “嘿,我是一个执行我的函数”。如果您传递 my_function(); 则可以将 my_function 作为参数传递(传递整个函数);你传递函数的执行结果
    【解决方案2】:

    我认为这可行:

    link_to "your link", href, :onclick => "jsFunction"
    

    或者,在 JS 方面做所有事情:

    document.body.addEventListener('click',function(e)
    {
        var target = e.target || e.srcElement;
        if (target.tagName.toLowerCase() !== 'a')
        {
            return e;//not clicked on link
        }
        //a link was clicked, maybe check class or id or other stuff to narrow it down
        //if a link you were interested in was clicked:
        return theClickFunction.apply(target,[e]);
    },false);
    

    【讨论】:

    • 我不能用这个链接调用coffeescript函数。它仅在我将 () 添加到函数时才有效
    【解决方案3】:

    纯 HAML 等同于 @edouardbriere 的回答:

    %a{href: '#', onclick: 'my_function(); return false;'} my link
    

    【讨论】:

      【解决方案4】:
      <a onclick="YOURMETHOD;"/>A link</a>
      

      如果您还想阻止位置更改,请在方法调用后添加 return false

      【讨论】:

      • 最初的问题是关于 HAML 链接;在这种情况下,不是 HTML。
      猜你喜欢
      • 1970-01-01
      • 2016-11-10
      • 1970-01-01
      • 2016-05-02
      • 2012-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-01
      相关资源
      最近更新 更多