jquery事件语法看不通,求解释

A1429892697 2017-09-29 10:50:09
我在w3school里看到change()事件有两个语法,就是不知道之间有什么差别,上面说的好绕口



下面是代码

<html>
<head>
<meta charset="utf-8">
<script type="text/javascript" src="/jquery/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$(".field").change(function(){ //语法1
$(this).css("background-color","#FFFFCC");
});
$("button").click(function(){
$("input").change(); //语法2
});
});
</script>
</head>
<body>
<button>激活文本域的 change 事件</button>
<p>Enter your name: <input class="field" type="text" /></p>
</body>
</html>

...全文
272 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq631515751 2017-10-11
  • 打赏
  • 举报
回复
第一个应该应用于下拉列表那种选择,类似于城市联动的那种选项,选择了城市,省分会自动出来,但是得写JS代码,第二个是当你先获得焦点,然后在失去焦点就会触发change(function)里面的函数。
  • 打赏
  • 举报
回复
区别有,应该是你给的实例误导了你,你删了 $(".field").change(function(){ $(this).css("background-color","#FFFFCC"); }); 运行一次代码,这时去点按钮,是不是文本框背景色不变黄颜色了,反过来,保留$(".field").change(function(){ $(this).css("background-color","#FFFFCC");删$("button").click(function(){ $("input").change(); }); 你在文本框中输入文字,背景是不是变黄颜色了,如果按你给的代码直接运行,是因为$(".field").和$("input")在本例中指的同一元素,所以change事件发生时,函数也会运行,所以你点击时,文本框背景就变黄颜色,或者在文本柜中输入文字后,文本框背景也变黄颜色.试着去体会,就不会饶了.
usecf 2017-09-30
  • 打赏
  • 举报
回复
语法1 是input控件本身变化的时候 触发的事件 在一个就是语法1根据class样式获取的input属性 语法2 是间接调用input change事件的,当调用change()方法的时候,就会调用input的 change发生的函数$(".field").change(function() 这个是根据input控件本身获取的
天际的海浪 2017-09-30
  • 打赏
  • 举报
回复
有参数的是为元素绑定事件 没参数的是模拟触发元素之前绑定了的事件

39,084

社区成员

发帖
与我相关
我的任务
社区描述
HTML5是构建Web内容的一种语言描述方式。HTML5是互联网的下一代标准,是构建以及呈现互联网内容的一种语言方式.被认为是互联网的核心技术之一。
社区管理员
  • HTML5社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧