这样写JS的方式对吗?
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script type="text/javascript" src="../jquery.min.js"></script>
<script>
(function(){
var RentNumObj = {};
RentNumObj.geocount = 0;
RentNumObj.tarDomId = "";
RentNumObj.rentJson = {};
var seed = 1;
var prefix = "dom00";
var selobjid = null;
var delobjid = null;
function getGeocount () {
return RentNumObj.geocount;
}
function setGeocount (val) {
RentNumObj.geocount = val;
}
function getTarDomId () {
return RentNumObj.tarDomId;
}
function setTarDomId (val) {
RentNumObj.tarDomId = val;
}
function getRentnumArr () {
return RentNumObj.rentnumArr;
}
function setRentnumArr (val) {
RentNumObj.rentnumArr = val;
}
function checkRentValLose () {
var rentJson = RentNumObj.rentJson;
for (var p in rentJson){
if( rentJson[p] == undefined || rentJson[p] == null ){
return false;
}
}
return true;
}
function checkTarget () {
var args = arguments;
var tarid = RentNumObj.tarDomId;
if( tarid == "" ){
RentNumObj.tarDomId = tarid = args[0];
}
return $("#"+tarid);
}
function print () {
// console.log("geocount:", RentNumObj.geocount);
// console.log("tarDomId:", RentNumObj.tarDomId);
// console.log("rentnumArr:", RentNumObj.rentnumArr);
// console.log("rentJson:", RentNumObj.rentJson);
// console.log("=========================");
$("#panel").html("");
$("#panel").append("<div>geocount: "+RentNumObj.geocount+"</div>");
$("#panel").append("<div>tarDomId: "+RentNumObj.tarDomId+"</div>");
$("#panel").append("<div>rentnumArr: "+RentNumObj.rentnumArr+"</div>");
$("#panel").append("<div>rentJson: "+RentNumObj.rentJson+"</div>");
}
function print2(){
$("#panel2").html("");
$("#panel2").append("<div>selobjid: "+ selobjid +"</div>");
$("#panel2").append("<div>rentnum: "+ rentJson[selobjid] +"</div>");
} //var pt = RentNumObj.prototype;
var pt = RentNumObj;
pt.add = function(){
print();
var tarobj = checkTarget("intext");
//tarobj[0].value = "";
var geocount = getGeocount(); if(geocount > 0){
var tarval = tarobj[0].value;
if( !checkRentValLose() ){
//if( tarval == "" ){
alert("未绑定租金值,请填写租金值!");
tarobj[0].value = "";
return false;
//}
}
}
selobjid = prefix + seed;
seed = seed + 1;
//$("#panel").append("<div id='"+selobjid+"' width='20' height='10' style='background-color:yellow;'>"+selobjid+"</div>");
$("body").append("<input type='button' id='"+selobjid+"' class='btnCls' value='"+selobjid+"'>"); $(".btnCls").bind("click", RentNumObj.sel);
geocount = geocount + 1;
setGeocount(geocount);
RentNumObj.rentJson[selobjid] = null;
print();
};
pt.del = function(){
print();
if( delobjid == null){
alert("请先选择!");
return false;
}
var rentJson = RentNumObj.rentJson;
delete rentJson[ delobjid ];
var geocount = getGeocount();
geocount = geocount - 1;
setGeocount(geocount);
$("#"+delobjid).remove();
// $("body").remove("'#"+delobjid+"'");
delobjid = selobjid = null;
// $("#"+delobjid).remove();
print();
};
pt.clear = function(){
print();
var rentJson = RentNumObj.rentJson;
for(var p in rentJson){
delete rentJson[p];
console.log("p:", p);
$("#"+p).remove();
}
setGeocount( 0 );
delobjid = selobjid = null;
print();
};
pt.sel = function(){
print();
var me = this;
// console.log( me );
// console.log("id : " + me.id);
delobjid = selobjid = me.id ;
rentJson = RentNumObj.rentJson;
console.log("rentJson[selobjid]:", rentJson[selobjid]);
print2();
print();
};
pt.save = function(){
print();
var tarobj = checkTarget("intext");
var geocount = getGeocount();
if(geocount > 0){
var tarval = tarobj[0].value;
if( !checkRentValLose() && tarval == "" ){
alert("未绑定租金值,请填写租金值!");
return false;
}
}
print();
};
pt.bindOnBlur = function(){
print();
var tarval = checkTarget("intext")[0].value;
if( tarval != "" && selobjid != null ){
var rentjson = RentNumObj.rentJson;
rentjson[selobjid] = tarval;
alert("租金值已经绑定!");
checkTarget("intext")[0].value = "";
delobjid = selobjid = null;
}
print();
};
window.RentNumObj = RentNumObj;
})(); $(function(){ console.log(RentNumObj); $("#btn_add").bind("click", RentNumObj.add);
$("#btn_del").bind("click", RentNumObj.del);
//$("#btn_sel").bind("click", RentNumObj.sel);
$("#btn_save").bind("click", RentNumObj.save);
$("#btn_clear").bind("click", RentNumObj.clear); $("#intext").bind("blur", RentNumObj.bindOnBlur);
});
</script>
</head>
<body>
<div class="main">
<div class="sub"><span class="btn"><input type="button" id="btn_add" value="Add"></span></div>
<div class="sub"><span class="btn"><input type="button" id="btn_del" value="Delete"></span></div>
<div class="sub"><span class="btn"><input type="button" id="btn_clear" value="Clear"></span></div>
<!--<div class="sub"><span class="btn"><input type="button" id="btn_sel" value="Select"></span></div>-->
<div class="sub"><span class="btn"><input type="button" id="btn_save" value="Save"></span></div> <div class="sub"><input type="text" id="intext"></div>
</div>
<div class="panel" id="panel" width="100px" height="500px" ></div>
<div class="panel" id="panel2" width="100px" height="500px" style="float:right;padding:50px;"></div>
<div>----------------------------</div>
</body>
</html>
这样写JS的方式对吗?的更多相关文章
- 不管你以后写不写JS,都应该学会这种思考方式
昨天在网上看到了一篇文章说程序员写不过35这种说法,但事实上,确实并不能每个人都像我一样,在写JS中找到乐趣,就乐意写这东西直到50岁眼瞎为止. 那肯定有人要问,也许我不仅写JS写不到35,可能我连3 ...
- 如果使用引用方式引用了js后 则不能再本地写js 因为写了后不会有效果
如果使用引用方式引用了js后 则不能再本地写js 因为写了后不会有效果
- FLASH CC 2015 CANVAS (二)html中写JS调用flash中的元件、函数、变量
注意 此贴 为个人边“开荒”边写,所以不保证就是最佳做法,也难免有错误! 正式教程会在后续开始更新 当你导出第一个canvas后,你会在保存fla的文件夹里 (每个项目默认位置)看到 如下文件,(请先 ...
- cocos2dx手写js绑定C++
这两天连续查阅了js绑定c++的非常多文章 , 有手动与自己主动两种方式 . 本来想用自己主动绑定的 , 可是NDK一直下载不下来.....就给算了 . 以下总结一下手动绑定的实现过程 : 一共三步 ...
- Java 10 的 10 个新特性,将彻底改变你写代码的方式!
Java 9才发布几个月,很多玩意都没整明白,现在Java 10又快要来了.. 这时候我真尼玛想说:线上用的JDK 7 甚至JDK 6,JDK 8 还没用熟,JDK 9 才发布不久不知道啥玩意,JDK ...
- JS 引入方式 基本数据类型 运算符 控制语句 循环 异常
一.JS引入方式 什么是JavaScript? JavaScript是运行在浏览器端的脚步语言,JavaScript主要解决的是前端与用户交互的问题,包括使用交互与数据交互,JavaScript是浏览 ...
- 000 在什么位置写js代码
一:介绍 1.DOM 2.节点分类 节点及其类型: 1). 元素节点 2). 属性节点: 元素的属性, 可以直接通过属性的方式来操作. 3). 文本节点: 是元素节点的子节点, 其内容为文本. 二:J ...
- springMVC 引入静态资源Js的方式
前两天项目出现了Js无法引入的情况,本篇博客先总结分析+批判自己犯的低级错,再说说几种访问静态资源的方式! 首先,由于在web.xml里面的servlet拦截匹配为<url-pattern> ...
- 在wxml中直接写js代码(wxs)
我们在h5开发中,很多时候要在html中写到js代码,这个很容易实现.但是在微信小程序开发中,是不能直接在wxml中写js代码的,因此就有了wxs.在wxml中用wxs代码,有以下几种方式(在小程序文 ...
随机推荐
- HW2.16
import java.util.Scanner; public class Solution { public static void main(String[] args) { final int ...
- 什么是JSON?如何使用?它比BSON更好吗?
本文由码农网 – 小峰原创翻译,转载请看清文末的转载要求,欢迎参与我们的付费投稿计划! 长话短说:如果你想知道JSON——它是什么,如何使用它以及它和BSON哪个更好,那么你来对地方了.在本文中,我们 ...
- hdoj 1241 Oil Deposits
Oil Deposits Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tota ...
- HDU 4635 - Strongly connected(2013MUTC4-1004)(强连通分量)
t这道题在我们队属于我的范畴,最终因为最后一个环节想错了,也没搞出来 题解是这么说的: 最终添加完边的图,肯定可以分成两个部X和Y,其中只有X到Y的边没有Y到X的边,那么要使得边数尽可能的多,则X部肯 ...
- Hibernate一张图
- 49. Sort Letters by Case
最后更新 一刷 还是Partition,只不过这次是按照大小写字母来. public class Solution { public void sortLetters(char[] chars) { ...
- Java开发中常见的危险信号(中)
本文来源于我在InfoQ中文站原创的文章,原文地址是:http://www.infoq.com/cn/news/2013/12/common-red-flags-in-java-1 Dustin Ma ...
- Javascript 基础知识笔记
标签(空格分隔): 廖老师学习笔记 javascript 基本入门 根据廖雪峰老师官网,自己看后的简单笔记 第一小节 基本知识 <script type="text/javascrip ...
- Java实现文件的RSA和DES加密算法
根据密钥类型不同将现代密码技术分为两类:对称加密算法(秘密钥匙加密)和非对称加密算法(公开密钥加密) 对称钥匙加密系统是加密和解密均采用同一把秘密钥匙,而且通信双方都必须获得这把钥匙,并保持钥匙的秘密 ...
- RichTextBox返回值标记不同颜色
在Button按钮下,将脚本的执行结果返回到richtextbox中: 如果返回值包含“failed",则该行标记为红色 .\Scripts\升级_ERP.ps1 | % { If ($_. ...