0

我有一个普通的 JavaScript 函数,并且想在我的 jQuery 代码中使用变量 (myVar) - 这可能吗?如何?:

<a onclick="showtitle(abctitle);" href="#">Testlink</a>

<script>
function showtitle(myVar) {
    myTitle = myVar;    
}

$(document).ready(function() {
    alert(myTitle); //I would like to alert "abctitle"
};
</script>
4

3 回答 3

3

首先,不要将 DOM0 内联事件处理程序与 jQuery 混合使用。将您的标记和逻辑分开。

如果您使用data-属性,您可以将变量的内容放在 HTML 中,然后将其提取到事件处理程序中:

<a id="test" data-foo="mytitle" href="#">Testlink</a>

接着:

$(document).ready(function() {
    $('#test').on('click', function() {
        alert($(this).data('foo'));
    }
});

当然,在此代码中,alert直到实际单击链接才会出现。

于 2013-04-24T12:41:01.290 回答
1

我相信@Alnitak 有一个很好的答案。但是,如果您只是想解决您提出的问题,请将 abctitle 用单引号括起来并创建myTitle一个全局变量:

<a onclick="showtitle('abctitle 2');" href="#">Testlink</a>

<script>
myTitle = "abctitle";

function showtitle(myVar) {
    myTitle = myVar;    
}

$(document).ready(function() {
    alert(myTitle); //I would like to alert "abctitle"
});
</script>

此外,您的文档就绪功能缺少右括号)

这里的工作示例:http: //jsfiddle.net/CbhxY/

更新

jsfiddle 上的工作示例效果不佳。试试这个:http: //jsbin.com/ohedab/1/

JS Bin 示例还在alertshowtitle 函数中添加了调用。

于 2013-04-24T12:49:30.227 回答
0

你可以这样做

function showtitle(abctitle){
  alert(myTitle); //I would like to alert "abctitle"
}
于 2013-04-24T12:47:13.790 回答