获取事件内变量的值

聂顺顺 2020-12-11 08:22:40
事件外如何得到 temp?

$(function(){
var temp="";
$("#sort").change(function(){
var temp  = $(this).val();
});

console.log("我的值"+temp);
});
...全文
7796 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
泡泡鱼_ 2020-12-14
  • 打赏
  • 举报
回复
引用 4 楼 聂顺顺 的回复:
[quote=引用 1 楼 天际的海浪 的回复:]只有在change事件被触发之后temp才被赋值。 而console.log("我的值"+temp);是在change事件触发之前就执行了,这时temp还没被赋值呢。
我要拿到temp的值在方法外作别的用处,无解了。[/quote] 一:你要保证先执行change,你预期中的temp才会发生变化 二:change函数中你不能再用var去定义temp,否则这变成了一个函数内部的局部变量,与外部的temp无关了。局部变量,你如果不是有返回或者再额外暴露出去,外面是拿不到值的
Stephen_112 2020-12-14
  • 打赏
  • 举报
回复

var temp = '';

$(function(){
	$("#sort").change(function(){ 
		temp = $(this).val();
	});
});

function anotherFunc(){
     console.log(temp);
}
聂顺顺 2020-12-14
  • 打赏
  • 举报
回复
引用 1 楼 天际的海浪 的回复:
只有在change事件被触发之后temp才被赋值。 而console.log("我的值"+temp);是在change事件触发之前就执行了,这时temp还没被赋值呢。
我要拿到temp的值在方法外作别的用处,无解了。
天际的海浪 2020-12-11
  • 打赏
  • 举报
回复
必须在change事件被触发之后再执行console.log("我的值"+temp);才行

$(function(){
    var temp="";
	$("#sort").change(function(){ 
		temp = $(this).val();
		aa();
	});
	function aa() {
		console.log("我的值"+temp);
	}
});
天际的海浪 2020-12-11
  • 打赏
  • 举报
回复
只有在change事件被触发之后temp才被赋值。 而console.log("我的值"+temp);是在change事件触发之前就执行了,这时temp还没被赋值呢。

87,921

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧