`
天梯梦
  • 浏览: 13731487 次
  • 性别: Icon_minigender_2
  • 来自: 洛杉矶
社区版块
存档分类
最新评论

常用JavaScript函数 47 - 58(自我总结)

阅读更多

47.   打印对象

48、 点击编辑:

49、 防止回车错误提交

50、 回车提交

51、 js随机整数函数

52、判断是否为空

53、 运行代码

54、 禁止复制黏贴

55、 防止页面被包含在 frame 里面

56、 防新浪微博文字滚动

57、 在光标处插入字符(兼容IE&FF)

58、 正则表达式 验证 数字(正整数, 负整数,整数,正小数,负小数,小数,实数,保留1,2,3位小数)

 

47. 打印对象

<script>

function print_r(obj) {
  var result = [];
  for (var id in obj) {
    try {
      if (typeof(obj[id]) == "function") {
        result.push("function " + id + ": " + obj[id].toString());
      }
      else {
        result.push("property " + id + ": " + obj[id].toString());
      }
    } catch (err) {
      result.push(id + ": inaccessible");
    }
  }
  return result;
}

/*
以下为测试代码
*/
		var defaults = {  
			tablink	           :	'tablink',    
			tabcontent         :	'tabcontent',  
			tabcount           :	'4',          
			loadtab            :	'1',           
			autochangemenu     :	1,             
			changespeed        :	2,            
			stoponhover        :	0   	
		}; 
			
		var list = print_r(defaults);
		document.write(list.join("<br/>"));

</script>

 

48、点击编辑:

 

JavaScript版

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>直接双击页面元素进行修改的HTML代码_IT知道网_</title>
<script type="text/javascript">
function ShowElement(element)
{
	var tag = element.firstChild.tagName;
	if (typeof(tag) != "undefined" && tag == "INPUT")return;

    var oldhtml = element.innerHTML;  //获得元素之前的内容 

    var newobj = document.createElement('input');   //创建一个input元素
    newobj.type = 'text';   //为newobj元素添加类型
	newobj.value = oldhtml;
	newobj.style.width = element.width;

   
    //设置newobj失去焦点的事件
    newobj.onblur = function(){
        element.innerHTML = this.value ? this.value : oldhtml;   //当触发时判断newobj的值是否为空,为空则不修改,并返回oldhtml。
        }
    element.innerHTML = '';   //设置元素内容为空
    element.appendChild(newobj);   //添加子元素
   
    newobj.focus() //获得焦点
}
</script>
</head>

<body>
  <div onclick="ShowElement(this)">双击即可出现信息框</div>
</body>
</html>

   

jquery editable 插件 (详见附件)

$('.editable1').editable({onEdit:begin});

 

参考网址: http://arashkarimzadeh.com/index.php/jquery/7-editable-jquery-plugin.html

 

49、防止回车错误提交

 

如果一个form里面有多个input + submit按钮的话,那么在input里面回车一般默认为提交第一个,下面的代码可以防止这样的错误发生: (配合jquery使用)

    $("input").keypress(function (e) {
        var keyCode = e.keyCode ? e.keyCode : e.which ? e.which : e.charCode;
        if (keyCode == 13){
            var i;
            for (i = 0; i < this.form.elements.length; i++)
                if (this == this.form.elements[i])
                    break;
            i = (i + 1) % this.form.elements.length;
            this.form.elements[i].click();
            return false;
        }
        else
            return true;
    });

 

50、 回车提交

$(document).ready(function(){
$("按下回车的控件").keydown(function(e){
         e = (e) ? e : (window.event ? window.event : "");
          var curKey = e.keyCode ? e.keyCode : e.which ? e.which : e.charCode;
           if(curKey == 13){
                $("#回车事件按钮控件").click();
                return false;
           }
   });
});

 

或者

<script>
 document.getElementByID('SearchKeyword').onkeydown=function(event){
  e = event ? event :(window.event ? window.event : null);
  if(e.keyCode==13){
   //执行的方法
   alert('回车检测到了');
  }
 }
</script>

 

 

51、 js随机整数函数

function randomInt(x1,x2)
{
  var min_int = parseInt(x1);
  var max_int = parseInt(x2);
  if ( isNaN(min_int) || isNaN(max_int) )
  {
    alert('parameter error');
    return false;
  }
 
  x1 = Math.min(min_int,max_int);
  x2 = Math.max(min_int,max_int);
 
  return x1 + Math.floor(Math.random() * (x2 - x1 + 1));
}

//用法:var i = randomInt(1,100);    var j = randomInt('100abc','1000cd');

 

解析:首先将传过来的参数转化为整型,防止了传过来的参数是字符串的情况,这在直接将页面上的元素的值作为参数的情况下很有用。比如以下:

 

 var v1 = document.getElementById('ele1').value;

 var v2 = document.getElementById('ele2').value;

 var i = randomInt(v1,v2);

 

因为从页面获得的值是字符串的格式,所以函数先进行了一些判断操作。

 

Math.random()-返回0~1之间的一个随机的小数,不包含0和1;

 

 js取整

 

js取整分为3种情况:

Math.ceil(x)-向上取整,如x=5.1取整为6,x=5.8也取整为6;

Math.floor(x)-向下取整,如x=5.1取整为5,x=5.8也取整为5;

Math.round(x)-四舍五入取整,如x=5.1取整为5,x=5.8取整为6;

 

Math对象的其他函数:

Math.abs(x)-取绝对值,如x=-1去为1,x=0取0,x=1取1;

Math.pow(x,y)-取X的Y次幂,如x=10,y=2,则返回10的2次方,100;

Math.sqrt(x)-取平方根,如x=25,则返回5;

Math.min(x,y)-取最小值,返回X,Y中的小的数,如x=3,y=5则返回3;

Math.max(x,y)-去最大值,返回X,Y中的大的数,如x=3,y=5则返回5

 

51、 JavaScript 事件绑定和移除,兼容ie/fx/chrome

<input id="a" type="button" value="点我" />注意执行网页时该按扭并没有事件<br/>

<script language="javascript">
var eventUtil = new Object();
//oTarget:目标 sEventType:事件名称 fnHandler:事件触发的函数名
//事件绑定
eventUtil.addEventHandler = function(oTarget,sEventType,fnHandler)
{
	if(oTarget.addEventListener) oTarget.addEventListener(sEventType,fnHandler,false); //如果是FF
	else if(oTarget.attachEvent) oTarget.attachEvent('on'+sEventType,fnHandler); //如果是IE
	else oTarget['on'+sEventType] = fnHandler;
};
//事件移除
eventUtil.removeEventHandler = function(oTarget,sEventType,fnHandler) 
{
	if(oTarget.removeEventListener) oTarget.removeEventListener(sEventType,fnHandler,false); //如果是FF
	else if (oTarget.detachEvent) oTarget.detachEvent('on'+sEventType,fnHandler); //如果是IE
	else oTarget['on'+sEventType] = null;
};

var a = document.getElementById("a");
eventUtil.addEventHandler(a,'click',Hello_ok);

function Hello_ok(){ alert("您好!欢迎您光临Web圈,祝您开心!"); }

 

onabort: 图像的加载被中断
onblur: 元素失去焦点
onchange: 域的内容被改变
onclick: 当用户点击某个对象时调用的事件句柄
ondblclick: 当用户双击某个对象时调用的事件句柄
onerror: 在加载文档或图像时发生错误
onfocus: 元素获得焦点
onkeydown: 某个键盘按键被按下
onkeypress: 某个键盘按键被按下并松开
onkeyup: 某个键盘按键被松开
onload: 一张页面或一幅图像完成加载
onmousedown: 鼠标按钮被按下
onmousemove: 鼠标被移动
onmouseout: 鼠标从某元素移开
onmouseover: 鼠标移到某元素之上
onmouseup: 鼠标按键被松开
onreset: 重置按钮被点击
onresize: 窗口或框架被重新调整大小
onselect: 文本被选中
onsubmit: 确认按钮被点击
onunload: 用户退出页面

 

52、判断是否为空

function empty (mixed_var) {
    var key;    
    if (mixed_var === '' ||
        mixed_var === ' ' ||        
        mixed_var === 0 ||
        mixed_var === '0' ||
        mixed_var === null ||        
		mixed_var === false ||
        typeof mixed_var === 'undefined'
    ){
        return true;
    } 
    if (typeof mixed_var == 'object') {
        for (key in mixed_var) {
            return false;
        }        return true;
    }
 
    return false;
}

 

if(empty(color)) alert('empty!');

 

53、 运行代码

<script language="javascript">
	function runCode(){
		var Code=Cont.value;
		var newwin=window.open('','','');
		newwin.opener=null
		newwin.document.write(Code);
		newwin.document.close();
	}
</script>

<textarea name="Cont" cols="50" rows="10" id="Cont"></textarea><br>
<input type="button" name="Submit" value="运行代码" onClick="runCode()">

 

54、 禁止复制黏贴

<script>
// check tel number and "-"
function checktel() {
    if (event.keyCode != 45 && (event.keyCode < 48 || event.keyCode > 57)) event.returnValue = false;
}
</script>
<body oncopy="return false;" onpaste="return false;" onselectstart="return false;" oncut="return false;">
	<input type="text" name="company_fax" id="company_fax" size="30" maxlength="20" onkeypress="checktel()" style="ime-mode:disabled" onpaste="return false;" tabindex="1"/>
</body>

 

55、 防止页面被包含在 frame 里面

<script type="text/javascript">
function frameBuster() {
	if (window != top) top.location.href = location.href;
}
window.onload = frameBuster;
</script>

 

56、 防新浪微博文字滚动   

 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
 <script language="javascript">
 $(function(){
	var scrtime;
		$("#con").hover(function(){
            clearInterval(scrtime);
         },function(){
			 scrtime = setInterval(function(){
				var $ul = $("#con ul");
				var liHeight = $ul.find("li:last").height();
				$ul.animate({marginTop : liHeight+40 +"px"},1000,function(){
					 
				$ul.find("li:last").prependTo($ul)
				$ul.find("li:first").hide();
				$ul.css({marginTop:0});
				$ul.find("li:first").fadeIn(1000);
			});        
		},3000);
	}).trigger("mouseleave");
 });
 </script>
 <style type="text/css">
	 *{ margin:0; padding:0;}
	 ul,li{ list-style-type:none;}
	 body{ font-size:13px; background-color:#999999;}
	 #con{ width:700px; height:400px; margin:10px auto; position:relative; border:1px #666 solid; background-color:#FFFFFF; 
	 overflow:hidden;}
	 #con ul{ position:absolute; margin:10px; top:0; left:0; padding:0;}
	 #con ul li{ width:100%;  border-bottom:1px #333333 dotted; padding:20px 0; overflow: }
	 #con ul li a{ float:left;  border:1px #333333 solid; padding:2px;}
	 #con ul li p{ margin-left:68px;line-height:1.5;  padding:10px;}
 </style>

 <div id="con">
   <ul>
     <li> <a href="http://www.websjy.com/bbs/"><img src="http://tp3.sinaimg.cn/1696357270/50/1282628065/1" /></a>
         <p class="vright">111111111111111111
Republican Mitt Romney played down on Thursday the healthcare reforms he crafted as Massachusetts governor as he sought the support of conservatives for his party's 2012 presidential nomination.</p>
     </li>
     <li> <a href="http://www.websjy.com/bbs/"><img src="http://tp3.sinaimg.cn/1696357270/50/1282628065/1" /></a>
         <p class="vright">22222222222222222222222  Australia’s total number of jobs advertised in major metropolitan newspapers and on the internet rose by 1.0 per cent in April to an average of 197,637 advertisements per wee... </p>
     </li>
     <li> <a href="http://www.websjy.com/bbs/"><img src="http://tp3.sinaimg.cn/1696357270/50/1282628065/1" /></a>
         <p class="vright">3333333333333333333333 A well-known financial commentator has called for a return to what he calls the "true gold standard", which would see the value of paper currencies tied to Gold Bullion. </p>
     </li>
     <li> <a href="http://www.websjy.com/bbs/"><img src="http://tp3.sinaimg.cn/1696357270/50/1282628065/1" /></a>
         <p class="vright">44444444444444444  Repealing billions of dollars in tax breaks for Big Oil won't raise U.S. fuel prices, Senator Max Baucus said in an opening shot directed at top petroleum executives summoned to Capitol Hill on Thursday to defend their surging profits.</p>
     </li>
     <li> <a href="http://www.websjy.com/bbs/"><img src="http://tp3.sinaimg.cn/1696357270/50/1282628065/1" /></a>
         <p class="vright">55555555555555555555  A barrier to financial literacy is the use by some financial planners, fund managers and listed companies of unnecessarily complex language when communicating with their investors.</p>
     </li>
   </ul>
 </div>

 

  57、 在光标处插入字符(兼容IE&FF) 

<html>
<head>

    <script>
        function AddText(str) {
            var ubb = document.getElementById("text1");
            var ubbLength = ubb.value.length;
            ubb.focus();
            if (typeof document.selection != "undefined") {
                document.selection.createRange().text = str;
            }
            else {
                ubb.value = ubb.value.substr(0, ubb.selectionStart) + str + ubb.value.substring(ubb.selectionStart, ubbLength);
            }
        }

 

        function Underline() {
            var tUnderline = prompt("请输入要设置的下划线文字\n标签:[u][/u]", "")//
            if (tUnderline == "" || tUnderline == null) {
                return;
            }
            tUnderline = "[u]" + tUnderline + "[/u]"
            AddText(tUnderline);
        }

        var lastFocusObj;
        function setlastFocusObj(obj) {
            lastFocusObj = obj;
        }

    </script>

</head>
<body>
    <textarea id="text1" cols="40" rows="8"></textarea>
    <a href="javascript:Underline();void(0)">下线线</a>
</body>
</html>

 

58、 正则表达式 验证 数字(正整数, 负整数,整数,正小数,负小数,小数,实数,保留1,2,3位小数)

正整数:    <input type="text" size="20" onkeydown="if(event.keyCode == 13) alert(/^\d+$/.test(this.value));" /> 
<br> 
负整数:    <input type="text" size="20" onkeydown="if(event.keyCode == 13) alert(/^-\d+$/.test(this.value));" /> 
<br> 
整 数:    <input type="text" size="20" onkeydown="if(event.keyCode == 13) alert(/^-?\d+$/.test(this.value));" /> 
<br> 
正小数:    <input type="text" size="20" onkeydown="if(event.keyCode == 13) alert(/^\d+\.\d+$/.test(this.value));" /> 
<br> 
负小数:    <input type="text" size="20" onkeydown="if(event.keyCode == 13) alert(/^-\d+\.\d+$/.test(this.value));" /> 
<br> 
小 数:    <input type="text" size="20" onkeydown="if(event.keyCode == 13) alert(/^-?\d+\.\d+$/.test(this.value));" /> 
<br> 
实 数:    <input type="text" size="20" onkeydown="if(event.keyCode == 13) alert(/^-?\d+\.?\d*$/.test(this.value));" /> 
<br> 
保留1位小数:<input type="text" size="20" onkeydown="if(event.keyCode == 13) alert(/^-?\d+\.?\d{0,1}$/.test(this.value));" /> 
<br> 
保留2位小数:<input type="text" size="20" onkeydown="if(event.keyCode == 13) alert(/^-?\d+\.?\d{0,2}$/.test(this.value));" /> 
<br> 
保留3位小数:<input type="text" size="20" onkeydown="if(event.keyCode == 13) alert(/^-?\d+\.?\d{0,3}$/.test(this.value));" /> 

 

转帖注明:http://justcoding.iteye.com/blog/734964

分享到:
评论

相关推荐

    JavaScript应用实例-常用函数-小七.js

    JavaScript应用实例-常用函数-小七.js

    javascript函数式编程

    JavaScript函数式编程是一种编程范式,它强调将计算视为数据处理的过程,并且重视函数作为第一类公民,即函数可以作为变量赋值、作为参数传递、作为返回值返回。这种编程风格在JavaScript中尤其常见,因为它提供了...

    JavaScript函数式编程.pdf

    在JavaScript函数式编程中,组合函数可以将多个小的、单一功能的函数串联起来,形成强大的函数链。组合使得代码更加模块化和可重用。 8. 函数式编程实践 实践函数式编程时,可以使用一些流行的库和工具,如Ramda、...

    javaScript常用函数使用总结

    JavaScript常用函数使用总结涵盖了多种在JavaScript编程中常用的方法,它们分别属于不同的类型,如String类型和Number类型。以下是对每个函数详细的说明和应用示例: 1. parseInt()函数 parseInt()是String类型的...

    asp.net开发常用javascript函数封装(c#)

    本文将详细讲解如何在C#中封装常用的JavaScript函数,并探讨这些函数在实际开发中的应用。 一、JavaScript函数封装的意义 在ASP.NET项目中,为了提高代码复用性,降低维护成本,我们常常会将一些常用的功能封装成...

    javascript经典特效---函数计算.rar

    10. **定时器与延时函数**:`setTimeout`和`setInterval`是实现延迟执行或周期性执行函数的常用工具,它们可以创建出各种动态效果。 在提供的"函数计算.htm"文件中,可能详细讲解了如何使用JavaScript函数来实现...

    JavaScript应用实例-autojs常用函数(1).js

    JavaScript应用实例-autojs常用函数(1).js

    C#与JAVASCRIPT函数的相互调用 C#调用JAVASCRIPT函数的调用 JAVASCRIPT调用C#函数的调用

    C#与JAVASCRIPT函数的相互调用 C#调用JAVASCRIPT函数的调用 JAVASCRIPT调用C#函数的调用

    Java struts html 标签

    - **Onsubmit**: 表单提交前触发的JavaScript函数。 #### 三、`&lt;html:text&gt;` 标签 `&lt;html:text&gt;` 标签用于创建文本输入框,可以与ActionForm中的属性进行绑定。 - **Property**: 指定与ActionForm中对应的属性名称...

    JavaScript常用判断函数

    ### JavaScript常用判断函数知识点 #### 一、概述 在JavaScript编程中,判断函数是非常重要的工具,可以帮助开发者快速地对各种数据类型进行验证和处理。本文将详细介绍几个常用的JavaScript判断函数,包括`...

    JavaScript函数(源代码)

    JavaScript函数(源代码)JavaScript函数(源代码)JavaScript函数(源代码)JavaScript函数(源代码)JavaScript函数(源代码)JavaScript函数(源代码)JavaScript函数(源代码)JavaScript函数(源代码)...

    javascript指南和函数式编程

    而《JavaScript函数式.zip》可能是一份关于JavaScript函数式编程的资料集合,函数式编程是一种编程范式,强调使用函数和避免改变状态。其中可能涵盖以下知识点: 1. **纯函数**:理解纯函数的定义,即给定相同的...

    JavaScript函数-深入解析与使用指南(很详细)

    ### JavaScript函数-深入解析与使用指南 #### 一、JavaScript函数的基本原理 JavaScript函数是一种能够封装特定任务的代码块,可以被重复调用以执行这些任务。这些函数可以通过接收参数来处理输入数据,并且通常会...

    QT和网页中的JavaScript函数进行相互调用的实现

    - 这里的回调函数用于处理JavaScript函数的异步返回结果,如果需要同步获取结果,可以使用`QWebEngineScript`来注册一个全局JavaScript对象,然后通过该对象调用JavaScript函数。 2. **JavaScript调用QT函数**: ...

    JavaScript应用实例-文件夹大小函数.js

    JavaScript应用实例-文件夹大小函数.js

    JavaScript应用实例-toast替代函数.js

    JavaScript应用实例-toast替代函数.js

    JavaScript应用实例-找图功能函数.js

    JavaScript应用实例-找图功能函数.js

    JavaScript应用实例-如何被调用函数.js

    JavaScript应用实例-如何被调用函数.js

Global site tag (gtag.js) - Google Analytics