• JavaScript (JS)常用方法


    正则修改 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}

    console.log输出字体颜色

    自动播放

    原帖:[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(){}
    --------蓝天上的云_转载请注明出处.
  • 相关阅读:
    Qt之QFileSystemWatcher
    office2007-安装程序找不到office.zh-cn*.文件
    Maven父子项目配置-多模块(multi-modules)结构
    Maven项目打包,Jar包不更新的问题
    开发Spring Shell应用程序
    Spring Shell参考文档
    Spring Shell介绍
    maven项目打包时生成dependency-reduced-pom.xml
    使用VBA批量转换Excel格式,由.xls转换成.xlsx
    修改MyEclipse取消默认工作空间
  • 原文地址:https://www.cnblogs.com/yucloud/p/10923095.html
Copyright © 2020-2023  润新知