1

このように画像をリンクに変えます

var imgCell = '<a href="javascript:storeInfo(&quot;text&quot;,&quot;text&quot;,&quot;ActiveProjects&quot;);"><img src="https://cubistmediagroup.sharepoint.com/sites/canvas/PublishingImages/details_open.png"></a>';

これは、「text」「text」および「activeprojects」を受け取り、それらをグローバル変数に設定して、複数の JavaScript 関数で使用できるようにする storeInfo 関数を呼び出します...

function storeInfo (filePath, webAddress, projectStatus){
theFilePath = filePath;
theWebAddress = webAddress;
controlButton(projectStatus);}

次に、storeInfo 関数内でこの関数を呼び出します...

function controlButton (projectStatus){
$('#'+projectStatus+' tbody td img').live('click', function () {
    var theTable = ActiveProjectsTable;

    var nTr = this.parentNode.parentNode.parentNode;
    if ( this.src.match('details_close') )
        {
            // This row is already open - close it 
            this.src = "https://cubistmediagroup.sharepoint.com/sites/canvas/PublishingImages/details_open.png";
            theTable.fnClose( nTr );
        }
    else
        {
            // Open this row 
            this.src = "https://cubistmediagroup.sharepoint.com/sites/canvas/PublishingImages/details_close.png";
            theTable.fnOpen( nTr, fnFormatDetails(theTable, nTr), 'details' );
        }
});
}

したがって、img を最初にクリックすると、store info 関数が呼び出され、それが代わりに controlButton 関数を呼び出します...次に、コントロール ボタン関数内に、別のクリックを必要とする jquery コード関数があります...存在するかどうかを知りたい2回のクリックを必要としないように、イベントなしでjquery関数を呼び出す方法。

controlButton が呼び出されたら、どうすれば jquery 関数を呼び出すことができますか?

4

1 に答える 1

1
function controlButton (projectStatus){
    // save the function into a variable
    var funct = function () {
        var theTable = ActiveProjectsTable;

        var nTr = this.parentNode.parentNode.parentNode;
        if ( this.src.match('details_close') )
        {
            // This row is already open - close it 
            this.src = "https://cubistmediagroup.sharepoint.com/sites/canvas/PublishingImages/details_open.png";
            theTable.fnClose( nTr );
        }
        else
        {
            // Open this row 
            this.src = "https://cubistmediagroup.sharepoint.com/sites/canvas/PublishingImages/details_close.png";
            theTable.fnOpen( nTr, fnFormatDetails(theTable, nTr), 'details' );
        }
    }
    // Retrieve the DOM node
    var node = $('#'+projectStatus+' tbody td img');

    // Apply the event listener to the node
    node.live('click', funct);

    // Call the function, with the retrieved node as the call instance('this')
    funct.call(node);
}
于 2012-10-25T13:42:20.537 に答える