我想问一下如何从函数'save_value'返回变量'get_cookies'。然后在mouseleave事件中写入它的值。
函数'get_cookies'将保存输入的更改。我想是一个错误。
抱歉我的英语不好。
这是代码:
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<script src="jquery.cookie.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
function save_value(value) {
var get_cookie = value;
return get_cookie;
};
$('#submit_value').live('click', function() {
var get_value = $('#get_value').val();
save_value(get_value);
});
$(document).mouseleave(function() {
var create_cookie = save_value();
console.log('save: ' + create_cookie);
});
});
</script>
</head>
<body>
<input type="text" id="get_value" />
<input type="button" id="submit_value" value="Click" />
<div></div>
</body>
控制台日志:
save: undefined
谢谢答案。
答案 0 :(得分:4)
函数save_value()
期待一个参数。从这里开始
var create_cookie = save_value();
你没有将值传递给函数,它将返回undefined
,因此变量create_cookie
值也是undefined
答案 1 :(得分:1)
你的save_value()函数需要一个输入参数,所以只有save_value()本身是未定义的。
你的意思是这样做吗?
$(document).mouseleave(function() {
var get_value = $('#get_value').val();
var create_cookie = save_value(get_value);
console.log('save: ' + create_cookie);
});
答案 2 :(得分:1)
这很简单:函数function save_value(value)
接受value
参数,将其赋值给变量,然后返回该变量。当您在没有参数的情况下调用它时,就像在此处执行:var create_cookie = save_value();
一样,value
参数将是未定义的。因此,该函数返回undefined。
另外:使用名为cookie
的变量不会设置cookie。为此,您必须使用localStorage.setItem('cookieName','cookieValue');
答案 3 :(得分:0)
由于您使用的是最新的jQuery版本,因此不应使用live()
函数,因为它已在jQuery 1.7中弃用。
无论如何,你的问题是不同的。您的save_value
函数什么都不做。只需创建一个变量并返回其值。但是你没有传递任何参数,所以它返回默认值:undefined
。