• jquery 自动触发事件


    常用的模拟

        有时候通过模拟用户操作,来大道单击的效果。
        在jquery中,可以使用trigger()方法完成模拟操作。例如可以使用下面的代码来触发id为btn的按钮的click事件
        $('#btn').trigger('click');
        当页面加载完毕后,就会立即输出想要的效果。也可以直接简写click(),来达到同样的效果。
        $('#btn').click();
    

    触发自定义事件

        trigger()方法不仅能触发浏览器支持的具有相同名称的事件,也可以触发自定义名称的事件。例如为元素绑定一个’myClick‘的事件
     jquery代码如下:
        $('#btn').bind('myclick',function(){
            $('#test').append('<p>我的自定义事件。</p>');
        })
    想要触发这个事件,可以使用一下代码来实现:$('#btn').trigger('myclick');
    

    传递数据

        trigger(type[,data])方法有两个参数,第一个参数是要触发的事件名称,第二个参数是要传递给事件处理函数的附加数据,以数组形式进行传递。
    通常可以通过传递一个参数给回调函数来区别这次事件时代码触发还是用户触发的。
     $(function(){
            $('#btn').bind('myclick',function(event,messgae1,message2){
             $('#test').append('<p>'+message1+message2+'</p>');
            });
            $('#btn').click(function(){
                $(this).trigger('myclick',['我的自定义','事件']);
            });
        });
    

    执行默认操作

        trigger()方法触发事件后,会执行浏览器默认操作。例如:
            $('input').trigger('focus');
        以上代码不仅为触发为<input>元素绑定的focus事件,也会使<input>元素本身得到焦点(这是默认浏览器的默认操作)
        如果只要触发绑定的focus事件,而不是像执行浏览器默认操作,可以使用jquery中的另外一个类似的方法——triggerHandler()方法
            $('input').triggerHandler('focus');
        failing方法会触发<input>元素上绑定的特定事件,同时取消浏览器对此事件的默认操作,即文本框只触发绑定的focus事件,不会得到焦点。
    
  • 相关阅读:
    图论1 Tarjan算法
    codevs1380 没有上司的舞会
    阿牛的EOF牛肉串
    codevs1105 过河
    HDU5340 Three Palindromes
    AndroidStudio中安装GsonFormat插件并根据json文件生成JavaBean
    Android中五种常用对话框的使用
    AndroidStudio中更新到最新版本后仍然提示:This version of the Android Support plugin for IntelliJ IDEA (or Android Studio) cannot o
    AndroidStudio中下载某版本gradle速度慢,从哪里高速下载指定版本gradle
    若依微服务版怎样修改Nacos中配置文件使Url不受权限认证跳过Token验证
  • 原文地址:https://www.cnblogs.com/ssgao/p/8868648.html
Copyright © 2020-2023  润新知