在ready函数中使用变量值

时间:2015-08-10 09:21:29

标签: javascript jquery

我有一个关于在ready函数中使用外部函数的值的问题。也许有一个简单的解决方案,但我还没有找到答案。

我想达到以下几种情况。我有这4个按钮:

<a onmouseover="Tip('content1')" class="">Basic text1</a>    
<a onmouseover="Tip('content2')" class="">Basic text2</a>    
<a onmouseover="Tip('content3')" class="">Basic text3</a>    
<a onmouseover="Tip('content4')" class="">Basic text4</a>

每个超链接都使用不同的参数调用该函数。我把它作为我的JS:

function Tip() {
  var content = arguments[0];
  $("#results").html("Tip function: "+content);
  return content;
}

$(document).ready(function()
{  
   Tip();
   $("#results2").html("Ready function: "+content); // How do I get the content value in this function??

});

现在我想知道是否可以在ready函数中使用函数var content中的Tip()变量?

请注意,我知道不再推荐使用内联Javascript代码,但我限制使用它(由于之前的实现)。因此onmouseover的实施必须保持不变。

示例:CODEPEN

3 个答案:

答案 0 :(得分:2)

首先,需要对功能进行一些更改。

dput

直接使用功能。

function Tip(argument) {
    var content = argument;
    $("#results").html("Tip function: " + content);
    return content;
}

或使用局部变量。

$("#results2").html("Ready function: " + Tip('Pass something.'));

或使用全局变量。

$(document).ready(function(){
    var content = Tip('Pass something.');
    $("#results2").html("Ready function: " + content);
});

答案 1 :(得分:0)

尝试这种方式。

var objTest = {
    content : null,
    Tip: function(arg) {
        this.content = arg;
        $("#results").html("Tip function: " + this.content);
    },
    getContent : function(){

        return this.content;

    }
}


$(document).ready(function()
{  
   var content = objTest.getContent();
   $("#results2").html("Ready function: "+content); // How do I get the content value in this function??

});


function Tip(argument){

    objTest.Tip(argument);
}


<a onmouseover="Tip('content1')" class="">Basic text1</a>    
<a onmouseover="Tip('content2')" class="">Basic text2</a>    
<a onmouseover="Tip('content3')" class="">Basic text3</a>    
<a onmouseover="Tip('content4')" class="">Basic text4</a>

答案 2 :(得分:0)

嗯,这是我通常使用.data()

的便宜但快捷的伎俩

每当您希望存储变量的值时,请将其存储在:

$("body").data("my_content", content); //Setter

&安培;同样检索:

$("body").data("my_content"); //Getter

有许多代码技术,但我更喜欢这个,因为内容在DOM中不可见,因此可用于临时操作