开发者问题收集

如何使用一个变量来处理多个事件?

2015-06-06
57

我想为一个事件处理程序设置一个变量,但从另一个事件处理程序中读取它。

简单来说就是这样:

$(document.body).on("click", ".notice", function() {
    var notice = 'You have just clicked this item.';
});
$('#save_comment').click(function() {
    alert(notice);
});

此代码导致错误

Uncaught ReferenceError: notice is not defined

3个回答

var notice 更改为 notice ,否则它仅在定义它的函数内具有范围。

mike.k
2015-06-06

试试这个

var notice;
$(document.body).on("click", ".notice", function() {
    notice = 'You have just clicked this item.';
});
$('#save_comment').click(function() {
    alert(notice);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="notice">notice</div>
<div id="save_comment">save comment</div>

点击 保存评论 会将通知设置为未定义
点击通知 后给出值

Iqbal Rizky
2015-06-06

然后将其设为全局:

$(document.body).on("click", ".notice", function() {
    notice = 'You have just clicked this item.';
});
$('#save_comment').click(function() {
    alert(notice);
});
Spencer Wieczorek
2015-06-06