也不知道大家平常的點擊事件都是怎寫的,我的話倒是經常使用以下這種方式
<div onclick="promptThis()"> 點擊我!! </div>
<!--別忘了引入js-->
<script src="1.js"></script>
然后在js封裝一片代碼,命名為 promptThis
(操作、提示、或者啥的)
function promptThis() { alert("你點了我!") }
結果:
注意:
js點擊事件在蘋果端會失效,
在安卓機上,我們隨意定義點擊事件也能夠在找到點擊的元素,但是在蘋果端上就是不行,怎么點擊都沒有效果。
這是因為在蘋果機上window禁止了手指誤點功能,必須解除這一功能,或者給點擊事件指引某個元素上綁定了事件。最好的解決方法如下:
div{ cursor: pointer; }
=========分割線==================
但是后來,在學習響應式布局的時候,
一個教學視頻徹底的刷新了我對前端的觀念,
https://www.bilibili.com/video/av9468753/?p=4
原來,css也是可以做到用戶操作的功能的,頓悟~
在這視頻中,需要的控件有
<input id=“thisOnClick” type="checkbox">
原理:
在控件 <input id=“thisOnClick” type="checkbox"> 中,有這么一個偽類元素 :checked (敲黑板,重點)
當多選按鈕選中之后,會有觸發偽類元素 :checked (敲黑板,重點),取消選中之后,則會失效;
假如:當觸發偽類元素 :checked 后,修改兄弟(兄弟元素,子元素等)元素的樣式,不就成了簡單的點擊事件嘛
步驟1、
舉個例子:
html代碼如下
<input id="thisOnClick" type="checkbox"> <div> 不稀罕js,咱用css做點擊! </div>
css代碼如下
<style> #thisOnClick:checked ~div{ background: aquamarine; } </style>
結果如下:
代碼截圖:
步驟2、
這時候,只要在利用控件 label 綁定 id為thisOnClick的控件,html實現代碼如下
<label for="thisOnClick"> <div> 點擊我,則會觸發ID為thisOnClick 的checkbox控件 </div> </label> <input id="thisOnClick" type="checkbox"> <div> 不稀罕js,咱用css! </div>
實現效果
代碼截圖
發揮下想象,把 checkbox 隱藏,這不就是 點擊修改樣式 的一個操作了嘛~~
注意哦,在一些可以編輯網頁css的網站,這個也能是實現的(比如博客園),需要自己發揮下創意~
案例如下:
代碼如下:
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>前端</title> </head> <style> #thisOnClick:checked ~.hiddenDiv{ background: aquamarine; display: block; } .showText{ width: 200px; height: 100px; background: aqua; } .checkbox{ display: none; } .hiddenDiv{ display: none; width: 200px; height: 100px; } .frame{ border: bisque 10px solid; } </style> <body> <div class="frame"> <label for="thisOnClick"> <div class="showText"> 點擊我!!!! </div> </label> <input id="thisOnClick" type="checkbox" class="checkbox"> <div class="hiddenDiv"> 不稀罕js,咱用css! </div> </div> </body> </html>