精华内容
下载资源
问答
  • 本文实例总结了JS针对浏览器窗口关闭事件的监听方法。分享给大家供大家参考,具体如下: 方式一:(适用于IE浏览器,而且刷新不提示,只在点击浏览器关闭按钮的时候提示) [removed] [removed]=onclose; function ...
  • e.returnValue = '关闭提示'; } // Chrome, Safari, Firefox 4+, Opera 12+ , IE 9+ return '关闭提示'; }; 2、在生命周期钩子中注册监听事件 methods: { beforeunloadHandler (e) { // ... } } 在 mounted
  • 我想在页面内执行一个方法,这个方法为每次单击鼠标的时候执行,应该怎么做呢?</p>
  • 我使用jquery在全局添加了键盘和鼠标双击的监听事件,但是我如果想使用某个按钮结束监听,应该jquery 代码如何取消呢。
  • python控制、监听鼠标键盘

    千次阅读 2020-05-25 18:28:07
    文章目录前言前期工作控制键盘监听键盘控制鼠标监听鼠标pywin32模块简述控制鼠标键盘可以用来干什么?简易的消息轰炸机pynput版本win32版本用代码弹奏电子钢琴制作吃鸡游戏脚本 前言 python中控制、监听键盘鼠标常用...

    前言


    python中控制、监听键盘鼠标常用pynput模块,有时也会使用pywin32模块。

    本文主要讲如何使用pynput模块控制、监听键盘。由于本人能力有限,不足之处还望指正。

    前期工作


    ①安装pynput模块。打开cmd,输入pip install pynput即可。

    ②IDE的选择。建议使用pycharm或spyder,因为会自动补全代码,很方便。

    ③亢奋的心情。学新知识前要尽量保持亢奋,如果你现在不是很亢奋,可以先去看几个小电影。

    注:安装过程中如果速度很慢可是使用国内镜像

    打开cmd,输入pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple/

    控制键盘


    步骤

    ①实例化键盘对象

    ②模拟按压、松开按键

    ③模拟按键分为两类:

    ​ 1、space、ctrl---------使用keyboard.press(Key.space)

    ​ 2、普通字母,a、b、A等----------使用keyboard.press(‘a’)

    ## ================================================
    ##              控制键盘
    ## ================================================
    from pynput.keyboard import Key, Controller
    keyboard = Controller()  #实例化键盘对象
    
    # 按键盘和释放键盘
    keyboard.press(Key.space)  # 按下空格键
    keyboard.release(Key.space)  # 松开空格键
    
    # 按小写的a
    keyboard.press('a')
    keyboard.release('a')
    
    # 按住shift再按a
    with keyboard.pressed(Key.shift):
        keyboard.press('a')
        keyboard.release('a')
    
    # 直接输入字符串
    keyboard.type('Hello World')
    

    注:当你不知道该按压哪个键盘时可以先运行下面监听键盘的函数,控制台会自动显示按键名称。

    如下图:

    易知我先按了空格键,后按了w键。只需要将输出的内容放置到keyboard.press()括号内即可

    监听键盘


    当键盘的有按键按下、松下会调用应绑定的函数

    ## ================================================
    ##              监听键盘
    ## ================================================
    from pynput.keyboard import Key, Listener
    keyboard = Controller()  #实例化键盘对象
    
    def on_press(key):  # 按键被按压调用这个函数
        # 输出按压的按键名字
        print('{0} pressed'.format(key))
    
    def on_release(key):  # 按键被松开调用这个函数
        # 输出松开的按键名字
        print('{0} release'.format(key))
        if key == Key.esc:  # 如果按了Esc键就停止监听
            return False  # Stop listener
    
    # 连接事件以及释放
    with Listener(on_press=on_press, on_release=on_release) as listener:
        listener.join()
    

    控制鼠标


    ## ================================================
    ##              控制鼠标
    ## ================================================
    from pynput.mouse import Button, Controller
    mouse = Controller()  # 实例化对象
    
    # 读鼠标坐标
    print('The current pointer position is {0}'.format(mouse.position))
    
    # 移动鼠标到指定位置
    mouse.position = (10, 20)
    print('Now we have moved it to {0}'.format(mouse.position))
    
    # 移动鼠标到相对位置,以position为原点
    mouse.move(5, -5)
    
    # 按住和放开鼠标
    mouse.press(Button.left)
    mouse.release(Button.left)
    
    # 点击鼠标左键2下
    mouse.click(Button.left, 1)
    
    # 滚动鼠标
    mouse.scroll(0, 500)  # 0表示模式,500表示向上滑500,写成-500则表示向下滑500
    

    注:可以使用监听鼠标的代码获取鼠标的实时位置

    监听鼠标


    ## ================================================
    ##              监听鼠标
    ## ================================================
    from pynput.mouse import Listener
    
    def on_move(x, y):  # 监听鼠标移动
        print('Pointer moved to {0}'.format((x, y)))
    
    def on_click(x, y, button, pressed):  # 监听鼠标点击
        print('{0} at {1}'.format('Pressed' if pressed else 'Released', (x, y)))
        if not pressed:  # 如果没有按压就结束程序(即,单击一下鼠标会结束程序)
            # Stop listener
            return False
    
    def on_scroll(x, y, dx, dy):  # 监听鼠标滚轮
        print('Scrolled {0}'.format((x, y)))
    
    # 连接事件以及释放
    with Listener(on_move=on_move, on_click=on_click, on_scroll=on_scroll) as listener:
        listener.join()
    

    pywin32模块简述


    pywin32是比pynput更加基层的库,也可以满足以上需求。在此不做详细介绍,有兴趣同学可以百度一下。

    pywin32库按压按键时使用虚拟键盘的方式,例如代码中的0x53、0x11等,

    具体按键的对应关系如下: 点击这里 下载

    import win32api
    import win32gui
    
    # 按下ctrl+s
    win32api.keybd_event(0x11, 0, 0, 0)  # 按下ctrl
    win32api.keybd_event(0x53, 0, 0, 0)  # 按下s
    win32api.keybd_event(0x53, 0, win32con.KEYEVENTF_KEYUP, 0)  # 松开s
    win32api.keybd_event(0x11, 0, win32con.KEYEVENTF_KEYUP, 0)  # 松开ctrl
    
    # 按下回车
    win32api.keybd_event(0x0D, 0, 0, 0)  # 按下回车
    win32api.keybd_event(0x0D, 0, win32con.KEYEVENTF_KEYUP, 0)  # 松开回车
    
    #发送文字
    hWndEdit="我爱阿龙"
    win32gui.SendMessage(hWndEdit,win32con.WM_CHAR,x, 0)
    
    

    控制鼠标键盘可以用来干什么?


    简易的消息轰炸机

    注:先复制想输出的话再启动程序

    pynput版本

    print('Made by 帅帅龙')
    from pynput.keyboard import Key, Controller
    import time
    keyboard = Controller()
    
    a=input("请输入你需要循环输出的内容:")
    b=eval(input('请输入你想循环输出的次数:'))
    c=eval(input('逐字输出请按1,整句输出请按2:'))
    print("数据已接收!请将光标移动到会话框")
    time.sleep( 2 )
    for i in range(3):
      print('距离程序运行还有%d秒!'%(3-i))
      time.sleep( 1 )
    for i in range(b):#设置循环次数
      if c==2:
        keyboard.type(a)
        keyboard.press(Key.enter)
        keyboard.release(Key.enter)
        time.sleep(0.1)
      elif c==1:
        for t in a:
          keyboard.type(t)
          keyboard.press(Key.enter)
          keyboard.release(Key.enter)
          time.sleep(0.1)
      else:
        print('别乱输啊...')
    print('消息发送完成!请关闭窗口')
    
    

    win32版本

    print('Made by 帅帅龙')
    import win32api
    import win32con
    import time
    b=eval(input('请输入你想循环输出的次数:'))
    a=eval(input('请输入每条消息停留的间隙:'))
    print("数据已接收!请将光标移动到会话框")
    for i in range(3):
      print('距离程序运行还有%d秒!'%(3-i))
      time.sleep( 1 )
    
    for i in range(b):#设置循环次数
      win32api.keybd_event(0x11,0,0,0)
      win32api.keybd_event(0x56,0,0,0)
      win32api.keybd_event(0x56,0,win32con.KEYEVENTF_KEYUP,0)
      win32api.keybd_event(0x11,0,win32con.KEYEVENTF_KEYUP,0)
      win32api.keybd_event(0x0D,0,0,0)
      win32api.keybd_event(0x0D,0,win32con.KEYEVENTF_KEYUP,0)
      time.sleep(a)
    print('消息发送完成!请关闭窗口')
    

    自己写类selenium模块


    注:在这里只给大家提供一个demo,有什么问题可以私信我。

    #coded by 帅帅龙
    import time
    
    def save_html(wait_time=2,save_wait_time=3,grade=1):  # 保存网页
        from pynput.keyboard import Key, Controller
        keyboard = Controller()
        time.sleep(wait_time)  #等待响应时间
        keyboard.press(Key.ctrl_l)  # 按下ctrl
        keyboard.press("s")  # 按下s
        keyboard.release("s")  # 松开s
        keyboard.release(Key.ctrl_l)  # 松开ctrl
        time.sleep(save_wait_time)  # 等待弹出保存等待窗口的时间
        keyboard.press(Key.shift)
        keyboard.release(Key.shift)
        num=1
        if grade==1:
            path=r'C:\Users\86166\Desktop\存放网址\一级\序号:'+str(num)
            for i in path:
                keyboard.type(i)
        else:
            path = r'C:\Users\86166\Desktop\存放网址\二级\序号:' + str(num)
            for i in path:
                keyboard.type(i)
        num+=1
        keyboard.press(Key.enter)
        keyboard.release(Key.enter)
    
    
    def type_url(url='www.baidu.com'):  # 输入url
        from pynput.keyboard import Key, Controller
        keyboard = Controller()
        keyboard.press(Key.f6)
        keyboard.release(Key.f6)
        time.sleep(0.5)
        keyboard.press(Key.shift)
        keyboard.release(Key.shift)
        time.sleep(1)
        for i in url:
            keyboard.type(i)  # 输入网站
        keyboard.press(Key.enter)  # 跳转
        keyboard.release(Key.enter)
    
    
    def scroll(end=-500,style=0):  # 滑动鼠标
        from pynput.mouse import Controller
        mouse=Controller()
        mouse.scroll(style, end)
    
    
    def get_files_path(path='一级'):  # 获取文件地址
        import os
        files=os.listdir(path)
        files_path=[path + i for i in files]
        return files_path
    
    
    if __name__ == '__main__':
        time.sleep(3)
        type_url()
        save_html()
    

    用代码弹奏电子钢琴


    思路:

    ①下载everypiano或者easypiano模拟钢琴软件

    ②下载相应歌曲的epo文件,并看歌曲是怎么弹奏的

    ③设置好时间间隔和按键顺序,启动程序

    注:建议使用pywin32模块

    制作吃鸡游戏脚本


    思路:

    ①训练场使用枪支发射子弹,截图并计时

    ②分析某时刻的弹道轨迹,并控制鼠标移动

    ③设置热键,当按压这个按键时调用②中的代码,松开按键则停止射击

    ③启动程序后启动游戏

    注:同理可以制作cf跳跳乐脚本

    其他

    略…

    展开全文
  • 一、父页面加入iframe: &lt;body&gt; &lt;iframe id="ifrmReport" src="/ReportForm/ZKZProblemSummaryPartial" name="ifrmReport" scrolling="no" ...

    一、父页面加入iframe:

    <body>

    <iframe id="ifrmReport" src="/ReportForm/ZKZProblemSummaryPartial" name="ifrmReport" scrolling="no" frameborder="0"></iframe>

    </body>

     

    二、父页面加入如下脚本:

    $(function () {

            $("#ifrmReport").height($(document).height()+200);
            var bodyWidth = $(document.body).width();

            $("#ifrmReport").width(bodyWidth - 200);

            var iframe = document.getElementById('ifrmReport');
            iframe.onload = function () {
                iframe.contentDocument.onclick = function () {
                    iframe.contentWindow.parent.hideZKZ();
                };
            }
        });

     function hideZKZ() {

           //easyUI combotree关闭下拉选择树
            $("#check_ZKZ").combobox('hidePanel');

           //easyUI combotree收缩下拉选择树
            $("#check_ZKZ").combotree('tree').tree("collapseAll");
       }

     

     

    展开全文
  • 这里写目录标题js事件键盘事件浏览器事件表单事件事件绑定方式监听事件解绑封装事件绑定 js事件 1.什么是事件 一件事情发生了,对其进行处理或者响应。 2. 事件的三要素 事件源,事件类型,事件处理 比如:点击右上...

    js事件

    1.什么是事件
    一件事情发生了,对其进行处理或者响应。
    2. 事件的三要素
    事件源,事件类型,事件处理
    比如:点击右上角的X,页面关闭。 事件源:X,事件类型:点击 事件处理:页面关闭。
    谁引发的后续事件,谁就是事件源。

    事件源:DOM节点(一般为元素节点)
    事件类型
    事件处理 函数(代码块)

    事件类型:
    1.鼠标事件
    2.键盘事件
    3.浏览器事件
    4.表单事件

    鼠标事件

                click ==  鼠标左键单击
                dbclick == 鼠标左键双击
                contextmenu  ==  鼠标右键单击
                mousewheel == scroll鼠标滚动
                mousedown  == 鼠标单击事件  不管是左键还是右键,还是滚动都可以触发
                mouseup == 鼠标抬起
                mousemove == 鼠标移动
                mouseover == 鼠标移入(会进行事件传播)
                mouseout == 鼠标移出
    

    mouseenter == 鼠标移入(不会进行事件传播)
    mouseleave == 鼠标移出

     <script>
             window.onload = function() {
                 var box = document.getElementById("box");
                // box.ondblclick = function() {
                //     console.log("鼠标双击");
                // }
                // box.onclick = function() {
                //     console.log("鼠标单击");
                // }
                // box.oncontextmenu = function() {
                //     console.log("鼠标右键单击");
                // }
                // box.onmousewheel = function() {
                //     console.log("鼠标滚动");
                // }
                // box.onmousedown = function() {
                //     console.log("鼠标按下");
                // }
                box.onmouseup = function() {
                    console.log("鼠标抬起");
                }
                box.onmousemove = function() {
                    console.log("鼠标移动");
                }
                // box.onmouseover = function() {
                //     console.log("鼠标移入");
                // }
                // box.onmouseout = function() {
                //     console.log("鼠标移出");
                // }
                // box.onmouseenter = function() {
                //     console.log("鼠标移入");
                // }
                // box.onmouseleave = function() {
                //     console.log("鼠标移出");
                // }
    
             }
         </script>
    </head>
    <body>
        <div id="box"></div>
    </body>
    

    鼠标滚动事件

    onmousewheel事件

    该事件发生在鼠标滚轮滚动时,火狐中,使用DOMMouseScroll跟其细节事件代替。注意:onmousewheel和DOMMouseScroll事件,在没有滚动条或者内容没有被滚动的时候也会发生,意思是只要鼠标动不管页面动不动。如果你是想一个元素内容滚动后接受一个通知的话,使用onscroll事件。

    onscroll事件

    事件发生在元素内容滚动的时候,也包括键盘上下键,载入也可触发。事件仅仅在有滚动条时发生,使用overflow属性为元素创建一个滚动条。

    使用window.scroll必须要有滚动条才能触发,一般配合$(window).scrollTop()使用.

    获取滚动值

     获取滚动值  原生js的获取页面滚动值的兼容性处理
        document.documentElement.scrollTop 标准模式
        document.body.scrollTop 没有DOCTYPE 声明的时候处理
        window.pageYOffset  safari浏览器
    

    用户改变域的内容
    onchange

    <body>//效果当下拉框的内容发生改变使触发该事件
        城市:
        <select id="city">
            <option>请选择城市</option>
            <option>上海</option>
            <option>北京</option>
        </select>
        <script>
            var city = document.querySelector("#city");
            city.onchange = function() {
                console.log("内容改变了..")
            }
        </script>
    </body>
    

    键盘事件

    不是所有的元素都能触发
    表单元素(选中效果),document ,window

    keydown
    键盘按下
    keyup
    键盘抬起

    keypress
    键盘按下
    在文本框中输入的内容必须与你按下的键是一致的

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
        <style>
            #box{
                width: 300px;
                height: 300px;
                background-color: brown;
            }
        </style>
        <script>
              window.onload = function(){
                 var box = document.getElementById("box");
                 box.onkeydown = function(){
                     console.log("键盘按下");
                 }//这个元素不能触发
                document.onkeydown = function(){
                    console.log("键盘按下");
                }
                // window.onkeydown = function(){
                //     console.log("键盘按下");
                // }
                // var inp = document.querySelector("input");
                // inp.onkeypress = function(){
                //     console.log("键盘按下");
                // }
                // inp.onkeyup = function(){
                //     console.log("键盘抬起");
                // }
             }
        </script>
    </head>
    <body>
        <div id="box"></div>
        <input type="text">
    </body>
    </html>
    

    浏览器事件

    window事件

    load 页面加载完毕
    scroll 页面滚动
    resize 窗口尺寸改变
    offline 网络断开
    online 网络恢复

    <style>
            body{
                height: 2000px;
            }
        </style>
    </head>
    <script>
        var i = 0;
        window.onscroll = function(){
            console.log(i++);//有滚动轴情况下,只要滚就会触发
        }
        window.onresize = function(){
            console.log("页面尺寸改变");//当将浏览器窗口变小的时候
        }
        // window.onoffline = function(){
        //     console.log("你家网断了");
        // }
        // window.ononline = function(){
        //     console.log("你家网恢复了");
        // }
    </script>
    <body>    
    </body>
    

    表单事件

    表单事件主要是表单元素和form标签的

    change 表单内容发生改变时,而且已经失去焦点时触发。

    input 表单输入事件

    focus 获取焦点

    blur 失去焦点

    submit 表单提交

    reset 表单重置

    <script>
            window.onload = function(){
                var inp = document.querySelector("input");
                var form = document.querySelector("form");
                inp.onchange = function(){
                    console.log("表单内容发生了变化");
                }
                inp.oninput = function(){
                    console.log("你输入了内容");
                }
                inp.onfocus = function(){
                    console.log("获取了焦点");
                    this.style.backgroundColor = "red";
                }
                inp.onblur = function(){
                    console.log("失去了焦点");
                    this.style.backgroundColor = "blue";
                }
                // form.onsubmit = function(){
                //     alert("表单提交了");
                // }
                // form.onreset = function(){
                //     // alert("表单重置");
                //     console.log("表单重置");
                // }
            }
        </script>
    </head>
    <body>
        <form action="">
            <input type="text" value="">
            <input type="submit" value="提交">
            <input type="reset" value="重置">
        </form>
    </body>
    

    表单元素的另外三种获取方法(不用记,知道就好,不用)

    </head>
    <!-- 表单元素的另外三种获取方法
    1 document.表单的name名;
    2 document.forms["表单的name名"];
    3 document.forms[索引]; -->不用记这三种不用
    <body>
        <form name="form1" action="https://www.baidu.com/">表单
            <input type="text">
        </form>
    </body>
    <script>
        // var form1 = document.form1;
        //var form1 = document.forms["form1"];
        //var form1 = document.forms[0];
        console.log(form1);
    </script>
    

    获取表单内容并提交的三种方式(优先用第一种)

    <body>
        第一种方式/使用的是普通按钮的提交 获取表单.submit();这个方法提交
        <form action="https://www.baidu.com/" id="biao">
            姓名:<input id="nei" type="text">
            <input type="button" value="提交表单1" οnclick="tijiao()"></input>
        </form>
        <hr>第二种方式使用的是submit加οnclick="return 函数()"函数运行为真时提交,为假时不提交
        <form action="https://www.baidu.com/">
            姓名:<input id="nei2" type="text">
            <input type="submit" value="提交表单2" οnclick="return tijiao()"></input>
        </form>
        <hr>第三种方式和第二种差不多,提交功能函数书写位置不同,原理一样
        <form action="https://www.baidu.com/" οnsubmit="return tijiao()">
            姓名:<input id="nei3" type="text">
            <input type="submit" value="提交表单3"></input>
        </form>
    </body>
    <script>
        function tijiao() {
            var nei = document.getElementById("nei").value; //获取表单内容
            if (nei == null || nei.trim() == '') {
                return; //判断表单内容为空时不提交
            }
            var biao = document.getElementById("biao"); //获取到表单元素节点
            biao.submit(); //提交表单,这一步才是提交了表单
        }
        //-----二和三方法车不多,只是赋予提交功能函数的书写位置不同-------利用的是return false不提交true提交这个特性-------------------------------------------------
        function tijiao() {
            var nei = document.getElementById("nei2").value;
            if (nei == null || nei.trim() == '') {
                return false;
            } else {
                return true;
            }
        }
        //------------------------------------------------------
        function tijiao() {
            var nei = document.getElementById("nei3").value;
            if (nei == null || nei.trim() == '') {
                return false;
            } else {
                return true;
            }
        }
    </script>
    

    事件绑定方式

    1.行内式
    在标签中直接通过on+事件类型 属性 去绑定事件

       <div id="box" onclick="show()"></div>
    

    2.内联式
    (1)直接绑定匿名函数
    (2)先定义函数,再去绑定

      var box = document.getElementById("box");
                box.onclick = function(){
                    alert("直接绑定匿名函数");
                }
    

    监听

    addEventListener
    语法:事件源.addEventListener(“事件类型”,事件处理函数);

     <script>
            window.onload = function() {
                var btn = document.querySelector("button");
                console.log(btn);
                btn.addEventListener('click', function() {
                    alert("监听弹出..")
                })
            }
        </script>
    /*<script>也可以这样写
            window.onload = function() {
                var btn = document.querySelector("button");
                console.log(btn);
                btn.addEventListener('click', dian)
                function dian() {
                    alert("监听弹出..")
                }
            }
        </script>*/
    </head>
    
    <body>
        <button>点击我</button>
    </body>
    
       addEventListener 第三个参数为true的话 表示捕获。 false 表示 冒泡。          
    
        <style>
            #div1{
                background-color: #27ae60;
            }
            #div2{
                background-color: #e67e22;
            } 
            #div3{ 
                background-color: #e74c3c;
            }
            #div1,#div2,#div3,#other{
                padding: 50px;
            }
            
        </style>
        <script>
            window.onload  = function(){
                var boxs = document.getElementsByTagName("div");
                for (var i = 0; i < boxs.length; i++) {
                    boxs[i].dataset.index = i+1;
                    boxs[i].addEventListener('click',function(){
                       alert("div" + this.dataset.index);
                    },false) //你写的监听默认是冒泡状态,可以改为true为捕获(从大范围到小)   
                }
            }
        </script>
    </head>
    <body>
        <div id="div1">
            <div id="div2">
                <div id="div3"></div>
            </div>
        </div>
    </body>
    

    使用监听,可以给同一个事件类型绑定多个事件处理函数。
    多个事件处理函数执行顺序是按照绑定顺序来的
    先绑定先执行

    <script>
            window.onload = function() {
                var btn = document.querySelector("button");
                console.log(btn);
                btn.addEventListener('click', ji);//先绑定,所以弹出2 输出时在 1的前面
                btn.addEventListener('click', dian);
    
                function dian() {
                    console.log("监听弹出1..");
                }
    
                function ji() {
                    console.log("监听弹出2..")
                }
            }
        </script>
    </head>
    
    <body>
        <button>点击我</button>
    </body>
    

    在IE低版本不支持
    attachEvent()
    IE低版本支持
    语法:事件源.attachEvent(“on+事件类型”,事件处理函数);
    多个事件处理函数的执行顺序是按照绑定顺序的倒序来的
    先绑定后执行

    事件解绑

    对于非监听方式,可以直接将null赋值。(也叫事件解绑)

      box.onclick = function(){
                   alert("您已成功充值1000万!");
                     box.onclick = null;//弹一次就会停止
                 }
                 box.onclick = null;//放外面一次都不会弹
    

    对于监听方式绑定解绑方法
    标准浏览器
    removeEventListener(“事件类型”,事件处理函数);
    【注意】 如果你想要解绑事件,那么你在绑定事件时,一定要将函数单独定义。使用函数名的方式去绑定事件。(匿名函数是没办法解绑的)

    IE低版本
    detachEvent(“on+事件类型”,事件处理函数);

      <script>
            window.onload = function(){
                var  box=document.querySelector("#box");
                function show() {
                    alert("您已成功充值1000万!");
                }
                box.addEventListener("click",show);事件监听方式绑定
                box.removeEventListener("click",show);  解绑,一次都不执行    
            }
        </script>
    </head>
    <body>
        <div id="box"></div>
    </body>
    

    为事件绑定做兼容

            window.onload = function(){
            /**
                ele 事件源
                type 事件类型
                handler 事件处理函数
            */
                function on(ele,type,handler) {
                    // 标准浏览器
                    if (ele.addEventListener) {
                        ele.addEventListener(type,handler);//下面调用时加引号了,所以这里没加
                    }else{
                        // IE浏览器
                        ele.attachEvent("on"+type,handler);
                    }
                }
                function show(){
                    alert("您已成功充值1000万!");
                }
                var box = document.getElementById("box");
                on(box,"click",show);//调用传参
    
            }
        </script>
    </head>
    <body>
        <div id="box">    </div>
    </body>
    

    获取下拉框的值练习

    <body>
        城市:
        <select id="unform">
            <option value="-1">请选择</option>
            <option value="beijing">北京</option>
            <option value="-1">上海</option>
            <option>深圳</option>
        </select>
        <button id="sub">获取城市名</button>
    </body>
    <script>
        var unform = document.getElementById("unform"); //1~下拉框
        var sub = document.getElementById("sub"); //获取按钮
        sub.onclick = function() {
                //2~获取下拉框的所有下拉选项 必须是这个单词options
                var selections = unform.options;
                //console.log(selections);输出所有的下拉框option
                //3~获取下拉框被选中项的索引 必须是这个单词selectedIndex
                var index = unform.selectedIndex;
                //console.log(index); //输出比如北京是1
                /*-------演示和解这道题无关   var val = unform[index];
                console.log(val); 当我获取北京时 <option value="beijing">北京</option>    */
    
                //4~获取被选中项的值(注意:当通过option获取选中项的value属性值时,当有value属性时输出value值,当没有value属性时输出option的文本)
                var val = selections[index].value;
                // console.log(val);
                //5~获取被选中项的文本(上海/深圳直接是文本)
                var txt = selections[index].text;
                console.log(txt);
                //设置下拉选项默认被选中演示这里用不到
                //selections[2].selected = true;
            }
            /* //可以发现第二步可以不用要 //2~获取下拉框的所有下拉选项 必须是这个单词options
                 var selections = unform.options;
                用这个也可以 var val = unform[index].value;
                var txt = unform[index].text;*/
    </script>
    
    展开全文
  • js如何禁止掉网页上的鼠标右击事件

    千次阅读 2017-05-24 10:43:13
    在网上也是找了好多资料,都不是太好,最后 还是在stackoverflow上面找到了合适的答案;...直接来代码,就是就是监听鼠标的右击事件,直接屏蔽,简单粗暴! document.oncontextmenu = function(){  return true; }

    在网上也是找了好多资料,都不是太好,最后 还是在stackoverflow上面找到了合适的答案;

    直接来代码,就是就是监听鼠标的右击事件,直接屏蔽,简单粗暴!

    document.oncontextmenu = function(){
      return false;
    }

    展开全文
  • ...鼠标事件监听器的创建和使用 ...鼠标操作是图形操作系统... 鼠标事件监听鼠标事件监听器由MouseListener接口和MouseMotionListener接口定义,分别定义鼠标捕获不同的鼠标操作方法。 MouseListener监听器方...
  • 端午小长假,飞驰而过。今天开始你要开始上学了、上班了?端午节过的怎么样?...1、在windows环境下 PyHook是一个基于Python的“钩子”库,主要用于监听当前电脑上鼠标和键盘的事件。这个库依赖于...
  • Onunload与Onbeforeunload Onunload,onbeforeunload都是在刷新或关闭时调用,可以在&lt;script&gt;脚本中通过window.onunload来指定或者在&... Onbeforeunload也是在页面刷新或关闭时...
  • 1、关闭窗口 // 希望:按下按钮,可以触发一些事件 import java.awt.*; import java.awt.BorderLayout; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event....
  • 在用js进行鼠标滚轮监听时,经常由于鼠标一下子滚多了,而触发了多次监听事件对应的函数,例如这里想做一个滚动页面 var wheelDeltaLinstner = function (){ var pageFlag = 0;//0表示第一頁 var maxPages = ...
  • (11)HTML5-鼠标单击事件监听

    千次阅读 2016-09-01 16:51:29
    JavaScript是一种面向对象的程序设计语言,因此语言的基本结构会包含对象(object),方法(method)和数值...-- 滑过onmouseover,离开onmouseout,网页加载onload, 表单送出onsubmit -->
  • //注意 interval()一定要记得调用关闭 避免重复调用 //定义Angular定时器$interval.cancel(fixedTimes);为关闭定时器的方法 var fixedTimes =$...//AngularJS监听页面关闭事件 $scope.$on("$destroy", functio
  • 鼠标事件 click:单机事件 dblclick:双击事件 mousedown:鼠标按下时触发 mouseup:鼠标抬起是触发 mouseenter:鼠标移入触发 mouseleave:鼠标离开触发 mousemove:鼠标移动 &amp;amp;lt;style type=&amp;...
  • 利用window.open返回的window对象,监听window.onload事件,在回调中监听window.unload事件,unload事件表示页面卸载,即实现了close目标 let page = window.open('www.baidu.com') page.onload = function(){ //...
  • 使用onunload或onbeforeunload可以监听浏览器关闭事件,但是无法区分关闭与刷新。以下js代码可以部分监听关闭浏览器的事件!   //鼠标相对于用户屏幕的水平位置 - 窗口左上角相对于屏幕左上角的水平位置 = 鼠标...
  • 今天小编就为大家分享一篇Vue监听事件实现计数点击依次增加的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 1.用浏览器打开百度文库的文档 右键->检查 或者 F12 2.点击左上角进行网页元素的选定 3.选中这个大的div ...4.选择左边的事件监听->copy事件->remove掉 之后就可以通过 ctrl+c 进行复制了
  • 禁用F12方法和禁用鼠标右键方法 preventDefault() 方法阻止元素发生默认的行为(例如,当点击提交按钮时阻止对表单的提交)。 禁用F12方法 /*禁用f12建*/ window.onkeydown = window.onkeyup = window.onkeypress =...
  • window.onload事件 设置页面加载时执行的动作,即进入页面的时候执行的动作。 window.onunload 已经从服务器上读到了需要加载的新的页面...onunload和onbeforeunload都是在页面刷新和关闭前的动作,但是onbeforeunl..
  • 输入监听 文本框 ——TextFiled(添加在弹窗Frame里) 构造方法: TextFiled()——构造新文本字段 TextField(int columns) ——构造具有指定列数( 近似平均字符宽度 ) 的新空文本字段 成员方法: setText(String t)...
  • 代码如下:<... <head> <... charset=utf-8″ /> <title>无标题文档</title>...style type=”text/css”>...line-height:14px} a{color:#039} a:hover{color:#f60} .pop{position:absolute;...
  • 区分窗口关闭和刷新事件 火狐浏览器兼容 关闭发请求,退出登陆操作(使用原生发同步请求,使用axios发异步会出现时行时不行问题) <template> <div id="app"> <router-view /> </...
  • HTML 鼠标行为事件

    千次阅读 2018-10-16 22:13:44
    onunload 关闭浏览器窗口做一些事情 onFocus 事件在对象获得焦点时发生 onBlur 事件会在对象失去焦点时发生 onClick 事件会发生在点击时 onDbclick 事件会发生在双击时 onmouseDown 事件会在鼠标按键被按下时发生 ...
  • js 监听浏览器刷新还是关闭事件

    千次阅读 2018-01-24 11:04:06
    // $(window).bind('beforeunload',function(){return '您输入的内容尚未保存,确定离开此页面吗?';}); // window.onbeforeunload = function() { return "确定离开此页面吗?"; }; // function myFunction() {...
  • 1.页面中引入需要的js文件(js文件中又引入其他js文件,需要的所有js文件见之前的博客:https://mp.csdn.net/postedit/87778048) &lt;script type="text/javascript" include="bootstrap,...
  • 2、监听页面的刷新行为 beforOnload 在刷新前记录所请求的内容并做一些处理。 以购物为例 提交了一批购物请求 但服务端处理比较慢 可以记住这些物品的ID 在获取列表时前端屏蔽这些未处理完的。具体根据业务想一下。 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 14,338
精华内容 5,735
关键字:

关闭页面鼠标监听