7

パラメータを使用して関数の外部でトリガーしたいクリック関数があります。

<div id="menubar">
    <a id="menu_file_open">File Open</a>
    <a id="menu_file_save">Save File</a>
</div>


$("#menubar a").click(function(event){

    var menu_item = $(this).attr('id');
    var $context = $(this);

    switch(menu_item){

        case 'menu_file_open':
             //Do menu file open dialog
        break;

        case 'menu_file_save': break;

    }

});

$('#menubar a').trigger('click'); //not working (ID,context not defined);

実際にクリックされたときの div の ID とコンテキストを渡すにはどうすればよいでしょうか。

4

2 に答える 2

6

わたしにはできる:

<div id="menubar">
    <a id="click_me" href="#">Click me</a>
    <a id="dont_click" href="#">Don't click</a>
</div>

$("#menubar a").click(function(event){
    var menu_item = $(this).attr('id');
    var $context = $(this);

    //....
});

$('#menubar a#click_me').click();​ // or $('#menubar a#dont_click').trigger('click');
于 2012-06-12T18:15:59.183 に答える
4

次のように、任意のデータを jQuery イベント ハンドラーに渡したり取得したりできます。

$(selector).click({ dataItem1: 'value1', dataItem2: 'value2' }, function(e) {
    var val1 = e.data.dataItem1,
        val2 = e.data.dataItem2;
});

ただし、コードはここで機能しているため、jQuery ライブラリが読み込まれていないか、スクリプトの他の場所にエラーがあるなど、別の問題があると思われます。

于 2012-06-12T18:18:33.017 に答える