帮助我理解如何在jQuery中编写函数

时间:2011-07-09 23:22:59

标签: jquery events

我能够对jQuery进行逆向工程,但我现在必须学习如何转发工程师。我知道如何编写JavaScript函数,我知道在JavaScript函数中,你可以使用jQuery。但是,我真的很难尝试用以下代码创建一个函数:

$(document).ready(function(){
    function doStuff( bar )
    {
        // Match all <A/> links with a title tag and use it as the content (default).
        $('.graph').qtip({
            content: {
                text: 'Loading...', // The text to use whilst the AJAX request is loading
                ajax: {
                    url: '/foo/' + bar , // URL to the local file
                    type: 'GET', // POST or GET
                    data: {} // Data to pass along with your request
                }
            },
            show: {
                solo: "true",
                delay: 100,
                event: "click",
                adjust : {screen : true}
            },
        });
    }
});

此代码效果很好,但仅在我删除

时才有效
function doStuff( bar )
{
}

我想在函数中包装这些东西的原因是我可以传入一个参数。就像我说的,我可以使用jQuery,但我远非高手。欢迎对我的策略提供任何帮助或建议/批评。

修改

这是我调用该函数的地方。感谢所有的帮助!

<a class="graph" title="a_link_title" href="#" onclick="doStuff('281'); return false;"> a link </a>

2 个答案:

答案 0 :(得分:3)

第一件事

此功能不应位于document.ready

 function doStuff( bar )
 {

 }

由于htis函数,代码没有执行,除非你调用这个函数它不起作用。

你可以做两件事。调用该函数或删除该函数并移出document.ready并在document.ready

中调用它
$(document).ready(function(){
   doStuff(bar) // pass the value and call it like this
});

    function doStuff( bar )
    {
        // Match all <A/> links with a title tag and use it as the content (default).
        $('.graph').qtip({
            content: {
                text: 'Loading...', // The text to use whilst the AJAX request is loading
                ajax: {
                    url: '/foo/' + bar , // URL to the local file
                    type: 'GET', // POST or GET
                    data: {} // Data to pass along with your request
                }
            },
            show: {
                solo: "true",
                delay: 100,
                event: "click",
                adjust : {screen : true}
            },
        });
    }

答案 1 :(得分:0)

快速修复:

$(document).ready(function() {
    function doStuff(bar) {
        // your code
    }

    doStuff(123); // might help to actually call your function! :-)

});