JavaScript (JS)常用方法
分类:
IT文章
•
2025-02-03 12:53:07
正则修改 DOM 对象内容(使用JQuery库)
例子:把DOM对象里的把<span style="color: #008080;">NUM</span>
替换成空格
const regex = /<span style="color: #008080;">(sd+|d+)</span>/gm;
let codeLine;
let preCodeLine;
preCodeLine = obj.html().replace(regex, ` `);
codeLine = $("<div/>").html(preCodeLine);
// 其中$("<div/>")算是空DOM对象
View Code
这样之后,仍然是一个DOM对象,只是完成了HTML内容的正则替换。
也可以用原生JS实现,具体见JQ源码
键盘事件
被按的按键的 unicode 是?
1 <html>
2 <head>
3 <script type="text/javascript">
4 function whichButton(event)
5 {
6 alert(event.keyCode)
7 }
8
9 </script>
10 </head>
11
12 <body onkeyup="whichButton(event)">
13 <p><b>注释:</b>在测试这个例子时,要确保右侧的框架获得了焦点。</p>
14 <p>在键盘上按一个键。消息框会提示出该按键的 unicode。</p>
15 </body>
16
17 </html>
测试按键值
JS实现键盘监听(包括组合键)带键值表 如Ctrl+V
document.onkeydown=function(event){
var e = event || window.event || arguments.callee.caller.arguments[0]; {
if (e.keyCode == 86 && e.ctrlKey) {
alert("你按下了ctrl+V");
}
}
};
View Code
博客园实现快捷键Alt+上下方向键调到<h2>目录
按键名 KeyCode
Up 38
Down 40
Alt_L 18
Alt_R
Ctrl ctrlKey (大小写敏感)
Alt altKey
按键名 KeyCode&特殊键
1 document.onkeydown=function(event){
2 var e = event || window.event || arguments.callee.caller.arguments[0]; {
3 if (e.keyCode == 40 && e.altKey) {
4 alert("你按下了alt+down");
5 }
6 }
7 };
Alt+Down测试
然后把alert()换成一个定位到<h2>的函数就OK
document.getElementsByTagName("h2")[num++].scrollIntoView();
1 <script type="text/javascript">
2 // 按下Alt+Down遍历跳转h2
3 var num = 0;
4 document.onkeydown=function(event){
5 var e = event || window.event || arguments.callee.caller.arguments[0]; {
6
7 var k = document.getElementsByTagName("h2");
8
9 if (e.keyCode == 40 && e.altKey) {
10 num = (num > k.length)? k.length: num;
11 k[num++].scrollIntoView(false);
12 console.log("Alt+Down");
13 //alert("你按下了alt+down");
14 }
15 else if (e.keyCode == 38 && e.altKey) {
16 num = (num < 0)? 0: num;
17 k[num--].scrollIntoView();
18 console.log("Alt+Up");
19 //alert("你按下了alt+up");
20 }
21
22 }
23 };
24 </script>
[完整版] JS按下Alt+Down 遍历跳转到
如果需要其他header,可以引用远程JQ库(不过好像博客园用了JQ库),然后用
$(":header"); 代替 document.getElementsByTagName("h2")[num++].scrollIntoView();
详见:jQuery获取h1-h6元素的值
注意:博客园的JS代码里不能有alert( 字段,注释也不行
使得comfirm事件永远为真
var confirm=function(){return 1}
自动播放
原帖:[Web] 解除 网课失去焦点/离开页面 就自动暂停 的限制-52pojie
本帖最后由 tuziang 于 2019-8-12 18:58 编辑
h5
如果视频是video元素,可以写个定时器,每秒钟设置一下播放状态
f12打开开发者工具,切换到console面板,输入下面代码并回车
setInterval(function () {
var current_video = document.getElementsByTagName('video')[0]
current_video.play()
}, 1000)
flash
如果是flash视频,可以重写失去焦点函数。
f12打开开发者工具,切换到console面板,输入下面代码并回车
if (!-[1,] && !window.XMLHttpRequest || navigator.userAgent.indexOf("MSIE 8.0") > 0) {
document.onfocusout = function () {
return true;
}
} else {
window.onblur = function () {
return true;
}
}
jQuery
这种方法没有验证,适合引用jQuery的网课平台。
方法:在浏览器地址栏输入
javascript:jQuery.fn.pauseMovie=function(){}