在加载时使用javascript创建对象以供以后使用
create object with javascript on load for later use
是否可以使用javascript/jQuery在页面加载(或(document).ready)上创建对象,然后在以后使用它们,例如在输入的keyup上。如果是,如何?
如果将所有代码都放在$(document).ready{all code here}
中,则变量不会超出范围。
$(document).ready(function(){
var someObject={};
$("selector").click(function(e){
console.log(someObject);
});
});
如果你在html中使用onclick,那么我建议你改变这一点,并将所有JS代码移动到JS文件或<script>
块(不在你的html中)。
不需要将许多变量放在全局作用域上,您可以为其命名(如果不能将所有代码放在$(document).ready中)
var myApplication = myApplication || {};//if myApplication doesn't exist then create it
myApplication.someObject = {};
然后,即使JS分布在多个文件中,您仍然可以维护一个myApplication对象。
如gp所述;可以使用数据将数据添加到html元素:
$("#somebutton").on("click",function(e){
$(this).data("someObject",{});// you can use e.target instead of this as well
});
下面是一个用法示例。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
TODO write content
<div id="MytextID">My text </div>
<input type="text" id="inputId" name="name">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
var x = $('#MytextID');
$('#inputId').keyup(function(){
alert(x.text());
})
})
</script>
</body>
</html>
相关文章:
- NodeJS'需要'在coffeescript中加载库,在Javascript中加载空对象
- Ajax到WCF,可以't将Ajax加载到对象中
- JSON对象(如何最初不在DOM上加载整个对象)
- 一次加载HTML对象并多次使用
- 正在等待加载脚本对象
- 如何加载包含对象对象的 JSON 文件的每个部分
- 正文加载创建空白页
- 在内存中加载javascript对象的正确方法
- 选中加载时对象数组中的复选框
- 如何动态加载 JavaScript 对象或调用对象方法
- 将 JSON 从文件加载到对象中
- 反应谷歌地图节点模块映射样式加载空对象,而不是JSON
- 从文本文件加载 Json 对象 - 返回未捕获的语法错误:意外标记“[ ”
- 引导表无法加载 JSON 对象
- AngularJS:在服务/控制器中加载插件对象
- 将 csv 文件内容加载到对象字典中
- 从nodejs中的文件加载javascript对象,解析错误
- 如何将加载到<对象>中的元素样式设置为数据
- Ember.js-如何强制加载相关对象
- three.js:在着色器材质中使用纹理,该材质添加到由对象加载器加载的对象中