javascript(Nodejs)中的一些实用小技巧
2013-12-05 10:19
567 查看
1. 不能浏览器下的阻止跳转,阻止继续执行
<script> <span style="font-family:ms shell dlg;"><span style="font-size: 14px; line-height: 28px;">return false; </span></span>//chrome 浏览器可以,但是Firefox不行,会在页面上打印false e=window.event; e.stopPropagation(); //Firefox,chrome都可以 e.cancelBubble=true; //IE 下也可以 </script>
所以理论上要停止代码继续执行。可以用
event.preventDefault(); [2014-12-05] 貌似只有这一个是可以的!其他的都不能阻止。擦。估计是jquery的版本不同引起的。那就用这个吧!
来做到各个浏览器都兼容。
2. 获取textarea框中换行的数据,并转换成数组,支持各种空格和换行
如图所示:
var order_list = $("#job_input_order").val(); //获取这个元素的值 order_list = order_list.replace(/^[\r\n\s]+|[\r\n\s]+$/g,''); //用replace 正则去空 var order_data = order_list.split(/[\r\n\s]+/); //用split 正则分割成数组
3. jquery动态绑定
从jQuery 0.9几开始,忘记了。取消动态绑定live() 方法,用on() 事件方法取消。但是发现on() 也不行,动态加载的东西就是不能绑定,发现是必须要这样:$(document).on("click", '.user-delete', function(){ confirm('确认删除这个用户嘛?') && ajax_delete($(this).attr('data-id')); });
要用 $(document)绑定dom 的方法。第二次参数填入 绑定的标记,我用的是class 标记的。
4. 元素绑定事件获取元素里面的值
也是用jQuery来做。比如:
<button data-id="5488413f9bb81678b2ef50ef" class="btn btn-danger user-delete">Delete user</button>
我需要在给这个元素绑定 click 事件,并获取data-id 的值:
$("button.user-delete").bind("click",function(){ var id = $(this).attr('data-id'); });
用$(this) 来获取自身对象,用attr 获取data-id 的这个属性值。就可以了。
5. 页面滚动自动ajax加载
实现方法有很多,这里一种是网上一个比较简单的,也蛮实用的,但是注意的坑是 这个range 值设为50以下,不能设为100+。不然会自动加载2次,原因不知道,反正取50就好了,也懒得去查为毛了:loadmore = true; $(window).scroll(function(){ var range = 50; var srollPos = $(window).scrollTop(); var totalheight = parseFloat($(window).height()) + parseFloat(srollPos); if(($(document).height()-range) <= totalheight && loadmore) { //ajax方法 } });
loadmore 来用标识可能滚几次没数据了,就标记为false,这样就不用请求ajax了。range 要取值50。
6. nodejs中使用mongo的like正则查询
where['name'] = new RegExp(name);
用RegExp来新建正则。就可以模糊查询了。
7. nodejs 中使用mongo的ObjectID查询
我用的是mongoskin第三方库来查询mogo数据。但是,发现一个坑,就是无法使用_id 直接查询,因为mongo里的_id 是ObjectID,所以必须转换,但是mongoskin又没提供这个方法,所以,悲剧,只能npm install mongodb 库,再使用这个ObjectID:"mongodb": "~1.4.4",
先npm install mpngodb,虽然mongoskin里也加载了,没办法。
再引入mongodb
var ObjectID = require('mongodb').ObjectID;
再使用:
where['_id'] = new ObjectID(_id);
这样就可以用mongoskin去查询了。
curd.find(where,field,sort,skip,limit,function(data){ }
8. nodejs 使用express 框架如何使用session
首先是必须自己另外去加载一个类库 "express-session": "~1.10.1" 先npm install 。再在根目录下的app.js 中引入:
var session = require('express-session');
在用app.user 使用下:
app.use(session({ secret: 'keyboard cat', key: 'ssid', cookie: { secure: false } }))
这样就session就生效了。
读和写:
console.log(req.session.name); req.session.name = 'admin';
其他的方法见官网:https://github.com/expressjs/session
9. jQuery中循环$.each 数组的使用
data = ['湖北','上海','武汉','合肥'];$.each(data, function(){ if (this == selected_city) { var selected = ' selected '; } city.append("<option value='"+this+"'"+ selected + ">"+this+"</option>"); });
循环出来的this 就是一个个元素值:湖北 上海 武汉 合肥
要是想得到key 值,其实是隐含在data里面的,0,1,2,3,
$.each(data, function(key,value){ if (key<=5) { photos += '<a href="'+this+'" target="_blank"> <img src="'+this+'" height="45px" width="35"></a>'; } })
这个时候得到key 就是 0 1 2 3 。value 就是 湖北 上海 武汉 合肥,当然this 也是。
相关文章推荐
- javascript的一些算法的实用小技巧
- [转载] 常用的一些javascript小技巧
- 常用的一些javascript小技巧(三)【方正平台】
- 一些实用的电脑小技巧(1)
- 12个非常实用的JavaScript小技巧
- 常用的一些javascript小技巧
- 常用的一些javascript小技巧
- JavaScript实用的一些技巧
- [转]常用的一些javascript小技巧
- 一些实用的 Javascript 代码
- JavaScript编程开发中的五个实用小技巧
- JAVASCRIPT实用的一些技巧
- 个人总结的一些JavaScript技巧、实用函数、简洁方法、编程细节
- JavaScript实用的一些技巧
- 常用的一些javascript小技巧
- [Web]超实用的javascript小技巧
- JavaScript实用的一些技巧(2)
- 常用的一些javascript小技巧
- JavaScript实用的一些技巧
- 常用的一些javascript小技巧(一)【方正平台】