50 jQuery绑定事件 阻止默认事件发生 内置动画 each data

主要内容

1  阻止后续事件继续执行

  return false:  常用于表单提交

  event.preventDefault : 阻止默认事件发生

<body>
<form action=""><input type="text" id="t1"><input type="submit" class="s1" id="s2" value="提交">
</form>
<script>$('#s2').click(function (event) {//点击submit按钮, 先校验input框的内容为不为空,//为空就不提交alert('这是form表单的提交按钮');var value = $('#t1').val();//获取input框的值if(value.length===0){//为空就不提交//不执行后续的默认的提交事件//阻止默认事件发生// event.preventDefault();return false}})
</script>
</body>
</html>

2 . 按住shift批量操作   用到keydown,  keyup, 

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta http-equiv="content-Type" charset="UTF-8"><meta http-equiv="x-ua-compatible" content="IE=edge"><title>Title</title><script src="jquery-3.3.1.min.js"></script>
</head>
<body><table border="1"><thead><tr><th>#</th><th>姓名</th><th>操作</th></tr></thead><tbody><tr><td><input type="checkbox"></td><td>Egon</td><td><select><option value="1">上线</option><option value="2">下线</option><option value="3">停职</option></select></td></tr><tr><td><input type="checkbox"></td><td>Alex</td><td><select><option value="1">上线</option><option value="2">下线</option><option value="3">停职</option></select></td></tr><tr><td><input type="checkbox"></td><td>Yuan</td><td><select><option value="1">上线</option><option value="2">下线</option><option value="3">停职</option></select></td></tr><tr><td><input type="checkbox"></td><td>EvaJ</td><td><select><option value="1">上线</option><option value="2">下线</option><option value="3">停职</option></select></td></tr><tr><td><input type="checkbox"></td><td>Gold</td><td><select><option value="1">上线</option><option value="2">下线</option><option value="3">停职</option></select></td></tr></tbody></table><button id="b1">全选</button><button id="b2">反选</button><button id="b3">取消</button><script>//给b1绑定事件, 所有的checked设置为ture$('#b1').click(function () {$(':checkbox').prop('checked',true)});//给b2绑定事件, 反选$('#b2').click(function () {//     var checkAll = $(':checkbox');// for(i=0;i<checkAll.length;i++){//      // 找到他的每一项//     //如果选中checked设置为false, 否则就设置为true//     var tmp = checkAll[i];//     var chec = $(tmp).prop('checked');// if(chec){//     $(tmp).prop('checked',false)// }else{//     $(tmp).prop('checked',true)// }  //第一种方法// $(tmp).prop('checked',!chec)//第二种方法// }//第三种方法 找到所有选中的checkbox并把它赋值给一个变量//     找到所有没有选中的checkbox并把它赋值给另一个变量var check = $('input:checked');var uchec = $('input:not(:checked)');// 利用prop把选中的checkbox设置为不选中// 利用prop把不选中的checkbox设置为选中check.prop('checked',false);uchec.prop('checked',true);});//给b3绑定事件, 所有的checked设置为false$('#b3').click(function () {$(':checkbox').prop('checked',false)});var flag = false;// 全局事件,监听键盘shift按键是否被按下$(window).on("keydown", function (e) {
//    alert(e.keyCode);if (e.keyCode === 16){flag = true;}});// 全局事件,shift按键抬起时将全局变量置为false$(window).on("keyup", function (e) {if (e.keyCode === 16){flag = false;}});// select绑定change事件$("table select").on("change", function () {// 是否为批量操作模式if (flag) {var selectValue = $(this).val();// 找到所有被选中的那一行的select,选中指定值$("input:checked").parent().parent().find("select").val(selectValue);}})</script>
</body>
</html>

 3  第2 个内容存在一个漏洞,按住shift所有的选中的批量操作, 如果按住shift的当前行没有选中, 但是当前行也被操作, 所以需要判断当前行是否被选中.

$("table select").on("change", function () {// 是否为批量操作模式//判断一下改行是否被选中var isChecked = $(this).parent().prev().prev().find(':checkbox').prop('checked');if (flag&&isChecked) {var selectValue = $(this).val();// 找到所有被选中的那一行的select,选中指定值$("input:checked").parent().parent().find("select").val(selectValue);}

 4 . hover 购物车

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta http-equiv="content-Type" charset="UTF-8"><meta http-equiv="x-ua-compatible" content="IE=edge"><title>购物车</title><script src="jquery-3.3.1.min.js"></script><style>body {margin:0;}.memu1{height:70px;width:100%;background-color: #616161;}.d {float:left;color: white;font-size: 20px;line-height: 70px;margin-left: 15px;position: relative;}.cont {height:70px;width: 140px;background-color: #ff4700;color: white;position:absolute;right: 0;display:none;}.hover>.cont {          //加的样式类当刷新页面的时候并没有, 所以当鼠标一上去就加上样式类, 离开就删除.display: block;}</style>
</head>
<body><div class="memu1"><div class="d">登录</div><div class="d">注册</div><div class="d" id="dd">购物车<div class="cont">空空如也</div></div></div><script>                   //   $('#dd').hover(               //这种方法没有.hover>.cont这两行//   function () {//       //当鼠标点进去//       $('.cont').css('display','block')// },//       //当鼠标离开时//  function () {//       $('.cont').css('display','none')//       }//   )// $('#dd').hover(//     function () {//         $(this).addClass('hover')//     },//     function () {//         $(this).removeClass('hover')//     }// );$('.memu1').on('mouseenter','.d',function () {$(this).addClass('hover');});$('.memu1').on('mouseleave','.d',function () {$(this).removeClass('hover');});</script>
</body>
</html>

5  input实时获取值

<body>
<input type="text" class="t1">
<script>//是去焦点时获取的值// $('.t1').blur(function () {//     var value = $(this).val();//     console.log(value)// })// 实时获取值$('.t1').on('input',function () {var value = $(this).val();console.log(value)})
</script>
</body>
</html>

6  全选 反选取消 用each方法

  1) 循环一个列表的三种方法:

li = [11,22,33,44];
for(i=0;i<li.length;i++){
console.log(li[i])}

    第二种

li.forEach(function(k,v){
console.log(k,v)})

    第三种    语法: $.each(要遍历的对象, function({.....}))

li = [11,22,33,44];
$.each(li,function(k,v){
console.log(k,v)})

  跳出本次循环return

li = [11,22,33,44];
$.each(li,function(k,v){
if(v===33){return//跳出本次循环
}else{console.log(v)
}
})

 

  跳出each循环return false

li = [11,22,33,44];
$.each(li,function(k,v){
if(v===33){return false//跳出本次循环
}else{console.log(v)
}
})

  对于jQuery对象的操作    语法: $('').each(function(){   this是进入循环体的当前标签  })

<body>
<div>111</div>
<div>222</div>
<div>333</div>
<script>$('div').each(function(){console.log(this)})
</script>
</body>

 

  反选的例子

<script>// 反选$("#b2").click(function () {$(":checkbox").each(function () {var value = $(this).prop("checked");if (value) {$(this).prop("checked", false);} else {$(this).prop("checked", true);}});});
</script>

 7 动画

<body>
<img src="http://img4.imgtn.bdimg.com/it/u=2907923370,3134497160&fm=26&gp=0.jpg" alt="">
<script>$('img').hide(4000);$('img').show(4000);
</script>
</body>

  

  

转载于:https://www.cnblogs.com/gyh412724/p/9635579.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/396890.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

oracle视图执行脚本,Sh脚本中查询Oracle v$视图时需要在$号前加转义符“\”

DBA经常会部署一些sh脚本登陆Oracle数据库查询v$动态视图得到一些东西来实际管理自动化的目的&#xff0c;但在sh脚本中写ORACLE SQL语句时&#xff0c;如果语句查询v$视图&#xff0c;直接写v$XXXX是不能成功的&#xff0c;shell会将$当成一个参数来处理。以下面一段简单的sh脚…

Linux下实现视频读取(二)---camera參数设定

Camera的可设置项极多&#xff0c;V4L2 支持了不少。但Sam之前对这些设置的使用方法和涵义都是在看videodev2.h中边看边理解。感觉很生涩。直到写这篇blog时&#xff0c;才发现v4l2有专门的SPEC来说明&#xff1a; http://www.linuxtv.org/downloads/legacy/video4linux/API/V4…

微信小程序页面跳转与返回并回传数据

2019独角兽企业重金招聘Python工程师标准>>> A页面&#xff1a; .wxml文件 <view class"flex-wrp"><text style"width: 32%;">选择城市</text><input style"width: 68%;" type"text" bindtap"ci…

地址栏 输入 参数 刷新参数丢失_小米11 Pro屏幕参数曝光:2K屏幕+120Hz刷新率

本周一&#xff0c;高通已经宣布将于12月初举行的骁龙技术峰会上正式发布新一代旗舰处理器——骁龙875。根据此前的曝光消息&#xff0c;小米11系列将首发搭载这颗芯片&#xff0c;网上也已经开始对这款新机进行曝光。日前&#xff0c;海外知名论坛XDA在MIUI 12的代码中发现了一…

Cypress EZ-USB FX3 DMA模式下的串口通讯

由于公司设备升级后出了问题&#xff0c;需要对USB驱动进行修改&#xff0c;原本使用的是寄存器模式进行UART传输&#xff0c;但是由于FX3寄存器模式会出现长时间延时等待的问题&#xff0c;不得不对其传输模式进行修改。虽然赛普拉斯的EZ-USB FX3系列芯片功能强大&#xff0c;…

php如何写一个能让外部访问的接口,如何写一个接口供外界访问

在工作的时候经常调用别人的接口&#xff0c;获取数据&#xff0c;然后就想知道这中间的原理是什么呢&#xff1f;今天上一个自己写的一个测试例子&#xff1a;首先是自己远程写好的一个接口&#xff1a;public function testming(){$arrarray(first > 1,hospitalname > …

win10远程桌面连接

有的情况下&#xff0c;Win10设置了允许远程桌面连接后&#xff0c;远程主机仍然不能桌面连接到目标主机上&#xff0c;这时可以在目标主机上尝试如下修改&#xff1a; 开始-->运行->gpedit.msc->计算机配置->Windows设置->安全设置->本地策略->安全选项-…

10494,没过,待解决,大数除法

10494,没过,待解决,大数除法 import java.io.*; import java.util.*;public class Main {public static void main(String[] args) throws FileNotFoundException{// Scanner scanner new Scanner(new File("d://1.txt"));Scanner scanner new Scanner(System.in);…

springboot md5加密_实在!基于Springboot和WebScoket,写了一个在线聊天小程序

基于Springboot和WebScoket写的一个在线聊天小程序(好几天没有写东西了&#xff0c;也没有去练手了&#xff0c;就看了看这个。。。)项目说明此项目为一个聊天的小demo&#xff0c;采用springbootwebsocketvue开发。其中有一个接口为添加好友接口&#xff0c;添加好友会判断是否…

suse 启动oracle11g,SuSe10下Oracle11g文件系统模式安装及配置、网络配置与连接

SuSe10下Oracle11g文件系统模式安装及配置、网络配置与连接概述本课程主要讲解oracle数据库软件的安装及配置&#xff0c;以及数据库的创建过程和网络配置与连接等&#xff1b;同时讲解一些数据库安装过程中的常见问题解决办法。注意&#xff1a;本文当中引用的package_name均为…

Python pyenv

一、简介 一般在操作系统中我们会安装多个Python版本&#xff0c;所以在进行Python版本切换时会比较麻烦&#xff0c;pyenv就提供了一种简单的方式&#xff0c;能简易地在多个Python版本中进行切换的工具&#xff0c;它简单而优雅。pyenv有以下功能&#xff1a; 1&#xff09;进…

python中add_Python add()函数是如何使用呢?

Python里经常会出现一些不太常见的函数&#xff0c;大家在遇到这类函数时候&#xff0c;是怎么做的呢&#xff1f;没有概念&#xff0c;直接过&#xff0c;还是会去查询下呢&#xff1f;相信大部分人都不会去查询&#xff0c;因为查询的内容太复杂了&#xff0c;所以&#xff0…

JavaScript的DOM编程总结

DOM&#xff08;文档对象模型&#xff09;, 与语言无关, 用于操作XML&#xff08;在Web中&#xff09;和HTML&#xff08;在浏览器在&#xff09;文档的应用程序接口。访问DOM次数越多, 速度越慢, 费用也就越高。 最小化DOM访问次数&#xff0c;尽可能在JavaScript端处理。 如果…

2017.1.20活动

1、根据教程用倾斜开关控制了一个小灯的亮灭&#xff08;倾斜到达一定角度亮或到达一定角度灭&#xff09;&#xff0c;后自己尝试了利用倾斜开关控制两个小灯&#xff0c;即一开始绿灯亮红灯灭&#xff0c;到达一定角度后&#xff0c;绿灯亮起红灯灭掉&#xff0c;附代码&…

oracle 增加间隔分区,oracle分区表之间隔分区(oracle 11g) - 漫兮网

范围分区允许用户根据分区键列值的范围创建分区。下面是一个按范围分区表的示例&#xff1a;create table sales6(sales_id number,sales_dt date)partition by range (sales_dt)(partition p0701 values less than (to_date(2007-02-01,yyyy-mm-dd)),partition p0702 values l…

c++ try catch语句_再问你一遍,你真的了解try..catch(finally)吗???

定义首先来看下 MDN 的定义&#xff1a;The try...catch statement marks a block of statements to try and specifies a response should an exception be thrown.try...catch语句标记要执行的语句&#xff0c;并指定一个当有异常抛出时候的响应简短的一句的确描述了try...ca…

lamp架构,搭建一个网络平台

首先更改主机名和 hosts 安装软件包&#xff0c;设置启动服务 设置数据库密码 上传discuz论坛包 将discuz注册的用户名写在mariadb数据库中 解压discuz包 unzip discuz包 -d /var/www/html cd到upload下 cp -rf * /var/www/html 进入数据库 mysql -uroot -p create database…

MyEclipse中SVN的使用方法

1、 加载插件 svn-myeclipse插件site-1.10.2.zip&#xff0c;解压缩后&#xff0c;将文件夹下的所有文件拷贝到MyEclipse安装包下的MyEclipse 8.5\dropins文件夹下&#xff0c;然后重新打开myeclipse&#xff0c;会弹出一个报错窗口&#xff0c;不要管它&#xff0c;关闭后&…

oracle数据泵导出csv文件,数据泵expdp导出遇到ORA-01555和ORA-22924问题的分析和处理...

使用数据泵导出数据库数据时&#xff0c;发现如下错误提示&#xff1a;ORA-31693: Table data object "CAMS_CORE"."BP_EXCEPTION_LOG" failed to load/unload and is being skipped due to error:ORA-02354: error in exporting/importing dataORA-01555:…

Go程序开发---Go环境配置:CentOS6.5+Go1.8标准包安装

1.Go安装 1.1Go的三种安装方式 Go有多种安装方式&#xff0c;可以选择自己习惯的方式进行&#xff0c;这里介绍三种安装方式&#xff1a; 1&#xff09;Go源码安装 2&#xff09;Go标准包安装 3&#xff09;第三方工具安装 这里主要介绍下Go标准包在CentOS6.5系统中的安装方式 …