web-dev-qa-db-ja.com

hamllink_toからjavascript関数を呼び出す

Onclickがhamlのlink_toタグから発生した場合でも、javascript関数(JQueryなし)を呼び出したいと思います。これどうやってするの?

12
Sandah Aung

私はこれがうまくいくと思います:

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);
12

これを行う方法は、Rails link_to in haml:

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

@edouardbriereの答えに相当する純粋なHAML:

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