jQuery中bind()方法中的参数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jQuery中bind()方法中的参数相关的知识,希望对你有一定的参考价值。

在jquery中,bind()方法有3个参数,即事件类型、可选参数、处理函数。请问,第一个参数的类型包括什么?又是如何使用的呢?

bind() 方法为被选元素添加一个或多个事件处理程序,并规定事件发生时运行的函数。其语法为:

$(selector).bind(event,data,function)

参数说明如下:

    event:规定添加到元素的一个或多个事件。必需。

    data:  规定传递到函数的额外数据。可选。

    function: 规定当事件发生时运行的函数。必需。

示例如下:

// 当点击鼠标时,隐藏或显示 p 元素:
$("button").bind("click",function()
  $("p").slideToggle();
);

参考技术A 我知道常用的类型包括:blur、focus、load、resize、scroll、unload、click、dblclick、mousedown、mouseup、mousemove、mouseover、mouseout、mouseenter、mouseleave、change、select、submit、keydown、keydown、keypress、keyup、error等等。本回答被提问者采纳 参考技术B 常用的bind绑定的事件方法有:click、dblclick、mousedown、mouseup、mousemove、mouseover、mouseout、mouseenter、mouseleave、change、select、blur、focus、load、resize、scroll.
不常用的有。unload、submit、keydown、keydown、keypress、keyup、error

bind()方法中的参数有以下几种方法
方法一、
function GetCode(event) alert(event.data.foo)
$(document).ready(function() $("#summary").bind("click", foo:'abc' ,GetCode); );

方法二、函数句柄
$("#summary").bind("click", function()GetCode("abc"));
function GetCode(str)
方法三、函数闭包
function GetCode(str) return function() alert(str)
$("#summary").bind("click", GetCode("abc"));
参考技术C keydown
mouseover
click
mouseup
mousemove....追问

能举出二十多种以上吗?常用的、不常用的

Jquery中的bind()方法的一点问题

bind()方法绑定事件的时候,第二个参数是函数,如果代码都写在函数里面,没有任何问题。但是,直接调用外部封装的函数需要注意,出错的例子:

 

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
</head>
<body>
	<div>点我</div>
   <script src="http://apps.bdimg.com/libs/jquery/2.1.1/jquery.min.js"></script>
   <script>
	$("div").bind("click",function(){popWindow()});
	//弹窗测试函数
	function popWindow(){
		alert("弹窗方法执行了...")
	}
	
</script>
</body>
</html>

  

上面这个例子打开网页立即弹窗,说明外部的函数立马执行了。当我们点击div的时候,没反应了。。。

在匿名函数里面调用外面封装的函数就没有问题了,例子:

 

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
</head>
<body>
	<div>点我</div>

   <script src="http://apps.bdimg.com/libs/jquery/2.1.1/jquery.min.js"></script>
   <script>
	$("div").bind("click", popWindow());
	function popWindow(){
		alert("弹窗方法执行了...")
	}
	
</script>
</body>
</html>

 

这样就正常了。

 

Jquery还有许多这样的例子,都是一样的解决办法。

以上是关于jQuery中bind()方法中的参数的主要内容,如果未能解决你的问题,请参考以下文章

jQuery中事件的学习

jquery bind()方法 语法

jquery的bind跟on绑定事件的区别

jQuery事件绑定

jquery如何绑定一个已有的方法并传递参数

jquery的bind跟on绑定事件的区别