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.pswp.cn/news/396890.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/396890.shtml
英文地址,請注明出處:http://en.pswp.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系統中的安裝方式 …