主要内容

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

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

  1. 关于jquery的取消阻止默认事件

    最近帮朋友做个东西,整个屏幕有一个遮罩层,但是这个遮罩层能滑动,于是百度了一下,返现,用 $('body').bind("touchmove",function(e){ e.pre ...

  2. echarts中重写图例点击事件,阻止默认事件

    1.取消全部图例点击事件 *只需添加一个属性即可 legend: {selectedMode:false } 2.重写图例点击事件,示例为 点哪个图例显示哪条折线 *获取点击图例对应图例数组中的ind ...

  3. 事件(阻止事件传播、阻止默认事件、事件源对象、事件委托)

    阻止事件传播 阻止事件传播e.stopPropagation() 谷歌浏览器 阻止事件传播(冒泡阶段) var oBig = document.getElementById('big');var oS ...

  4. 简单解析JavaScript的默认事件及如何阻止默认事件

    简单解析JavaScript的默认事件及如何阻止默认事件 上篇文章就提到,在JavaScript中提到事件冒泡两个必不可少也要提的就是事件捕获和默认事件,现在来聊一聊什么是默认事件,及如何阻止默认事件 ...

  5. React 阻止默认事件和阻止冒泡

    给 a 标签添加一个事件 阻止默认事件 e.preventDefault(); class view extends Component {onAtag(e) {// 阻止默认事件 放置跳转e.pre ...

  6. javascript, jQuery阻止默认事件和冒泡事件

    事件冒泡(event bubbling) 事件冒泡是指一个元素上的事件被触发,然后这个事件按嵌套顺序在父级元素上触发,直至document根节点. 例如: <!DOCTYPE html> ...

  7. JS标签中 阻止默认事件的发生

    若html标签中定义了两个事件(包含一个自定义函数),那么系统会先执行用户自定义的函数,然后执行标签默认函数.如果想要在执行完自定义函数之后阻止系统默认函数的执行,可以进行如下设置: 因为html标签 ...

  8. jquery 阻止冒泡事件和阻止默认事件

    jQuery 冒泡和默认事件: <!DOCTYPE html> <html lang="en"> <head><meta charset= ...

  9. 由href return false 来看阻止默认事件

    很多时候我们都想阻止一个a ?link的href跳转. 1 <a onclick="return false;" href="www.360.cn"> ...

最新文章

  1. NET使用了UpdatePanel后如何弹出对话框!
  2. linux curl 命令模拟 http get post 请求
  3. htmlvideoelement js操作
  4. Centos系统磁盘扩容
  5. pyspark的rdd直接写入mysql
  6. 2017 《Java技术预备作业 》1501 乔 赫
  7. Spring -Bean的作用域
  8. [工具类]文件或文件夹xx已存在,则重命名为xx(n)(2)
  9. SQLi LABS Less-13 报错注入+布尔盲注
  10. html input 字体颜色_HTML常用标签汇总
  11. ArcGIS 栅格函数在线调用详解
  12. 如何在GO语言中使用Kubernetes API?
  13. python制作adobe photoshop插件_Python 图像处理这样学 小白也易懂,还能顺便学习 Photoshop...
  14. x86 单线并发多拨_【转帖】适用所有CC版的 openwrt 单线并发多拨教程!!!
  15. 画图别存为png 透明_怎么样是使(PNG格式)图片背景透明
  16. 儿童智能定位鞋方案/案列/APP/小程序/网站
  17. 关于Android 在线预览PDF文件
  18. 苹果id登录_英雄联盟手游用苹果id登录显示账号异常的解决方法_英雄联盟手游...
  19. 使用码云同步谷歌 Chrome 浏览器书签
  20. Java-坦克大战2

热门文章

  1. 通过Xshell登录远程服务器实时查看log日志
  2. Arduino 端口通信实例
  3. flash中的渐变滤镜GradientGlowFilter
  4. C#面向对象设计模式第二讲:Singleton Pattern单件模式(创建型模式)
  5. 昨天添加的clustrMaps,忘了截屏,今天补上,就作为我在园子里的奠基。
  6. CompareAndSwap原子操作原理
  7. XCode、Objective-C、Cocoa 说的是几样东西
  8. 深度学习分布式训练小结
  9. 机器学习05神经网络--表示
  10. 新版 Android 已支持 FIDO2 标准,免密登录应用或网站