设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 技术文摘 查看内容

21个值得收藏的Javascript技巧

2013-8-2 10:57| 发布者: 红黑魂| 查看: 2319| 评论: 0|来自: 51cto

摘要: 在本文中列出了21个值得收藏的Javascript技巧,在实际工作中,如果能适当运用,则大大提高工作效率。 1 Javascript数组转换为CSV格式 首先考虑如下的应用场景,有一个Javscript的字符型(或者数值型)数组,现在需要转换为 ...

8  检查是否按了回退键

同样,可以检查用户是否按了回退键,代码如下:

  1. window.onbeforeunload = function() {  
  2.     return "You work will be lost.";  
  3. }; 

9  检查表单数据是否改变

有的时候,需要检查用户是否修改了一个表单中的内容,则可以使用下面的技巧,其中如果修改了表单的内容则返回true,没修改表单的内容则返回false。代码如下:

  1. function formIsDirty(form) { 
  2.   for (var i = 0; i < form.elements.length; i++) { 
  3.     var element = form.elements[i]; 
  4.     var type = element.type; 
  5.     if (type == "checkbox" || type == "radio") { 
  6.       if (element.checked != element.defaultChecked) { 
  7.         return true
  8.       } 
  9.     } 
  10.     else if (type == "hidden" || type == "password" || 
  11.              type == "text" || type == "textarea") { 
  12.       if (element.value != element.defaultValue) { 
  13.         return true
  14.       } 
  15.     } 
  16.     else if (type == "select-one" || type == "select-multiple") { 
  17.       for (var j = 0; j < element.options.length; j++) { 
  18.         if (element.options[j].selected != 
  19.             element.options[j].defaultSelected) { 
  20.           return true
  21.         } 
  22.       } 
  23.     } 
  24.   } 
  25.   return false
  26. window.onbeforeunload = function(e) { 
  27.   e = e || window.event;   
  28.   if (formIsDirty(document.forms["someForm"])) { 
  29.     // IE 和 Firefox 
  30.     if (e) { 
  31.       e.returnValue = "You have unsaved changes."
  32.     } 
  33.     // Safari浏览器 
  34.     return "You have unsaved changes."
  35.   } 
  36. };

10  完全禁止使用后退键

下面的技巧放在页面中,则可以防止用户点后退键,这在一些情况下是需要的。代码如下:

  1. <SCRIPT type="text/javascript"
  2.     window.history.forward(); 
  3.     function noBack() { window.history.forward(); } 
  4. </SCRIPT> 
  5. </HEAD> 
  6. <BODY onload="noBack();" 
  7.     onpageshow="if (event.persisted) noBack();" onunload=""

11 删除用户多选框中选择的项目

下面提供的技巧,是当用户在下拉框多选项目的时候,当点删除的时候,可以一次删除它们,代码如下:

  1. function selectBoxRemove(sourceID) { 
  2.     //获得listbox的id 
  3.     var src = document.getElementById(sourceID); 
  4.     //循环listbox 
  5.     for(var count= src.options.length-1; count >= 0; count--) { 
  6.          //如果找到要删除的选项,则删除 
  7.         if(src.options[count].selected == true) { 
  8.                 try { 
  9.                          src.remove(count, null); 
  10.                            
  11.                  } catch(error) { 
  12.                            
  13.                          src.remove(count); 
  14.                 } 
  15.         } 
  16.     } 

12  Listbox中的全选和非全选

如果对于指定的listbox,下面的方法可以根据用户的需要,传入true或false,分别代表是全选listbox中的所有项目还是非全选所有项目,代码如下:

  1. function listboxSelectDeselect(listID, isSelect) { 
  2.     var listbox = document.getElementById(listID); 
  3.     for(var count=0; count < listbox.options.length; count++) { 
  4.             listbox.options[count].selected = isSelect; 
  5.     } 


酷毙
2

雷人

鲜花

鸡蛋

漂亮

刚表态过的朋友 (2 人)

  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部