event事件相关和window对象json字符串对象之间转换

来源:互联网 发布:蓝牙听歌软件 编辑:程序博客网 时间:2024/06/05 04:21

阻止浏览器默认行为的兼容写法:event.preventDefault ? event.preventDefault() : (event.returnValue = false)

阻止冒泡兼容写法:event.stopPropagation ? event.stopPropagation() : (event.cancelBubble = true)

获得event对象的兼容写法:event || (event = window.event)

获得target对象的兼容写法:event.target || event.srcElement

cancelable 事件返回一个布尔值。如果用 preventDefault() 方法可以取消与事件关联的默认动作,则为 true,否则为 fasle。可以用来判断是否是非ie浏览器
if(event.cancelable) event.preventDefault else event.returnValue = false

if (event.cancelable) {
event.stopPropagation();// 其他浏览器取消事件冒泡
} else {
event.cancelBubble = true;// IE取消事件冒泡
}
检测事件是否是 cancelable 事件(IE 浏览器不支持)

window.location.reload() 刷新window.history.go(1) 前进window.history.go(-1) 返回加刷新window.history.forward() 前进window.history.back() 返回
在JS中将JSON的字符串解析成JSON数据格式:var  result = eval('('+data+')');但不推荐这些方式,这种方式不安全eval会执行json串中的表达式。 http://www.json.org/ 提供了一个json.js,这样ie8(兼容模式),ie7和ie6就可以支持JSON对象以及其stringify()和parse()方法; 可以在https://github.com/douglascrockford/JSON-js上获取到这个js,一般现在用json2.js。
字符串转换为json对象:var str = '{"name":"huangxiaojian","age":"23"}'//单引号写在{}外,每个属性名都必须用双引号,否则会抛出异常。1JSON.parse(str)结果: Objectage: "23"name: "huangxiaojian"__proto__: Object2)它的典型应用就是在JQUERY中的AJAX方法下的success对于返回数据data的解析      var json='{"name":"CJ","age":18}';     data = (new Function("","return "+json))();     data打印结果:{name: "CJ", age: 18}            age:18            name:"CJ"            __proto__:Objectjson对象转换为字符串var a = {a:1,b:2}JSON.stringify(a)结果: "{"a":1,"b":2}"注意:ie8(兼容模式),ie7和ie6没有JSON对象,推荐采用JSON官方的方式,引入json.js。