×

jquery trigger li query

jquery trigger(jquery中,.trigger(’click’);事件和.click();的应用是不是同一个道理)

admin admin 发表于2023-03-07 11:58:32 浏览47 评论0

抢沙发发表评论

本文目录

jquery中,.trigger(’click’);事件和.click();的应用是不是同一个道理

应该效果是一样的。但是trigger的用途比较广泛,最突出的就是它可以触发自定义委派事件,举个例子
$(“p“).bind(“myEvent“, function (event, message1, message2) {
alert(message1 + ’ ’ + message2);
});
$(“p“).trigger(“myEvent“, [“Hello“,“World!“]);

Jquery中trigger和triggerHandler的区别

  trigger( event, [data] )

  在每一个匹配的元素上触发某类事件。这个函数也会导致浏览器同名的默认行为的执行。比如,如果用trigger()触发一个’submit’,则同样会导致浏览器提交表单。如果要阻止这种默认行为,应返回false。
也可以触发由bind()注册的自定义事件    

  $(“p“).click( function (event, a, b) {
  // 一个普通的点击事件时,a和b是undefined类型
  // 如果用下面的语句触发,那么a指向“foo“,而b指向“bar“
  } ).trigger(“click“, [“foo“, “bar“]);

  triggerHandler( event, [data] )

  这个特别的方法将会触发指定的事件类型上所有绑定的处理函数。但不会执行浏览器默认动作.

  如果对一个focus事件执行了 .triggerHandler() ,浏览器默认动作将不会被触发,只会触发绑定的动作: 

《BUTTON id=old type=submit》.trigger(“focus“)《/BUTTON》
  《BUTTON id=new type=submit》.triggerHandler(“focus“)《/BUTTON》《BR》《BR》
  《INPUT value=“To Be Focused“ type=text》
  《SCRIPT》
  $(function(){
  $(“#old“).click(function(){
  $(“input“).trigger(“focus“);
  });
  $(“#new“).click(function(){
  $(“input“).triggerHandler(“focus“);
  });
  $(“input“).focus(function(){
  $(“《span》Focused!《/span》“).appendTo(“body“).fadeOut(1000);
  });
  });
  《/SCRIPT》

如何用jquery的trigger方法模拟点击事件

常用模拟
在jQuery中,可以使用trigger()方法完成模拟操作。
例如,使用如下代码来触发id为btn按钮的click事件。
代码示例:
$(“#btn“).trigger(“click“);
当页面加载完毕后,就会立刻输出想要的效果。
也可以直接用简化写法click():
代码示例:
$(“#btn“).click();

jquery trigger的用法

trigger:在每一个匹配的元素上触发某类事件。
如 $(“form:first“).trigger(“submit“),触发第一个表单的提交事件
“在实际应用中我们该如何让它在触发事件时同时处理事件“,我不知道兄台是如何理解 “触发了事件“ 这几个字的, 触发了事件,等同于程序即将执行这个事件,事情是一个方法体.
下面是data传参的一个例子,摘抄的
$(“p“).click( function (event, a, b) {
// 一个普通的点击事件时,a和b是undefined类型
// 如果用下面的语句触发,那么a指向“foo“,而b指向“bar“
} );
$(“p“).trigger(“click“, [“foo“, “bar“]);
其实我们还可以给元素自定义事件,以下同样摘抄的
$(“p“).bind(“myEvent“, function (event, message1, message2) {
alert(message1 + ’ ’ + message2);
});
$(“p“).trigger(“myEvent“, [“Hello“,“World!“]);
myEvent并不是 WEB标准中预定义的行为(如onclick, onmouseover等等才是)
但在些例中自定义了 myEvent 行为 ,并且通过 trigger 手动触发了绑定在该行为上的事件.
感觉说得乱七八糟, 自己也给转糊涂了

jquery中trigger有什么用

在前端页面开发中,我们有时候希望能自定执行一些人性化操作,比如鼠标不用点击自动就能点击等操作,利用传统的js语言需要编写复杂的代码才能实现此功能,这时候我们使用jquery的trigger()方法就能轻松实现.

trigger方法的功能是在所选择的元素上触发指定类型的事件,其调用的语法格式为:trigger(type,[data]),其中参数type为触发事件的类型,参数data为可选项,表示在触发事件时,传递给函数的附件参数.下面来举例说明下.

页面中创建一个文本框,并给文本一个默认值,当该页面加载时,自动获取文本框的值,显示在页面中,同时文本框处于选中状态 .实现代码如下:

[javascript] view plain copy

  • $(function(){  

  • var oTxt=$(“input“);//获取文本框  

  • oTxt.trigger(“select“);//自动选中文本框  

  • oTxt.bind(“btn_click“,function(){  

  • //自定义事件  

  • var txt=$(this).val();//获取自身内容  

  • $(“#div“).html(txt);//显示在页面中  

  • })  

  • oTxt.trigger(“btn_click“);//自动触发自定义事件  

  • })  

JQuery中关于事件委托trigger自动执行的问题

$(’#ul1’).on(“click“,“li“,function()

这个的意思,就是给#ul1里面的每个li绑定click事件,并把事件触发后的处理都委托给#ul1。表面上看事件是由#ul1绑定的,但实际触发事件的是里面的li,所以直接用trigger来触发#ul1的click事件是无效的!

改成这样就有效:

$(function(){
   $(’#ul1’).on(“click“,“li“,function(){
      $(this).prepend(“我是新的“);
   }).find(“li“).trigger(“click“);
});

或者

$(function(){
   $(’#ul1’).on(“click“,“li“,function(){
      $(this).prepend(“我是新的“);
   });
   $(’#ul1 li’).trigger(“click“);
});

jquery click和trigger有什么区别

trigger()方法的功能是在所选择的元素上触发指定类型的事件。
应用场景:在前端页面开发中,有时希望页面在DOM加载完毕后,自动执行一些很人性化的操作,这时可以用trigger()方法。

jquery的trigger和triggerHandler的区别示例介绍

返回值:jQuerytriggerHandler(type, [data])
概述
这个特别的方法将会触发指定的事件类型上所有绑定的处理函数。但不会执行浏览器默认动作,也不会产生事件冒泡。
这个方法的行为表现与trigger类似,但有以下三个主要区别:
* 第一,他不会触发浏览器默认事件。
* 第二,只触发jQuery对象集合中第一个元素的事件处理函数。
* 第三,这个方法的返回的是事件处理函数的返回值,而不是据有可链性的jQuery对象。此外,如果最开始的jQuery对象集合为空,则这个方法返回
undefined 。
参数
typeString
要触发的事件类型
data (可选)Array
(可选)传递给事件处理函数的附加参数
示例
描述:
如果你对一个focus事件执行了 .triggerHandler() ,浏览器默认动作将不会被触发,只会触发你绑定的动作。
HTML 代码:
《button id=“old“》.trigger(“focus“)《/button》
《button id=“new“》.triggerHandler(“focus“)《/button》《br/》《br/》
《input type=“text“ value=“To Be Focused“/》
jQuery 代码:
$(“#old“).click(function(){
$(“input“).trigger(“focus“);
});
$(“#new“).click(function(){
$(“input“).triggerHandler(“focus“);
});
$(“input“).focus(function(){
$(“《span》Focused!《/span》“).appendTo(“body“).fadeOut(1000);
});
返回值:jQuerytrigger(type, [data])
概述
在每一个匹配的元素上触发某类事件。
这个函数也会导致浏览器同名的默认行为的执行。比如,如果用trigger()触发一个’submit’,则同样会导致浏览器提交表单。如果要阻止这种默认行为,应返回false。
你也可以触发由bind()注册的自定义事件而不限于浏览器默认事件。
事件处理函数会收到一个修复的(规范化的)事件对象,但这个对象没有特定浏览器才有的属性,比如keyCode。
jQuery也支持 命名空间事件。这允许你触发或者解除绑定一组特定的事件处理函数,而无需一一个指定。你可以在事件类型后面加上感叹号
! 来只触发那些没有命名空间的事件处理函数。
jQuery 1.3中新增:
所有触发的事件现在会冒泡到DOM树上了。举例来说,如果你在一个段落p上触发一个事件,他首先会在这个元素上触发,其次到父元素,在到父元素的父元素,直到触发到document对象。这个事件对象有一个
.target 属性指向最开始触发这个事件的元素。你可以用 stopPropagation() 来阻止事件冒泡,或者在事件处理函数中返回false即可。
事件对象构造器现在已经公开,并且你可以自行创建一个事件对象。这个事件对象可以直接传递给trigger所触发的事件处理函数。事件对象的完整属性列表可以在
jQuery.Event 的文档里找到。
你可以有三种方式指定事件类型:
* 你可以传递字符串型的事件名称(type参数)。
* 你可以使用jQuery.Event对象。可以将数据放进这个对象,并且这个对象可以被触发的事件处理函数获取到。
* 最后,你可以传递一个带有数据的字面量对象。他将被复制到真正的jQuery.Event对象上去。
注意在这种情况下你必须指定一个 type 属性。
参数
typeString,Event,Object
一个事件对象或者要触发的事件类型
data (可选)Array
(可选)传递给事件处理函数的附加参数
示例
描述:
提交第一个表单,但不用submit()
jQuery 代码:
$(“form:first“).trigger(“submit“)
描述:
给一个事件传递参数
jQuery 代码:
$(“p“).click( function (event, a, b) {
// 一个普通的点击事件时,a和b是undefined类型
// 如果用下面的语句触发,那么a指向“foo“,而b指向“bar“
} ).trigger(“click“, [“foo“, “bar“]);
描述:
下面的代码可以显示一个“Hello World“
jQuery 代码:
$(“p“).bind(“myEvent“, function (event, message1, message2) {
alert(message1 + ’ ’ + message2);
});
$(“p“).trigger(“myEvent“, [“Hello“,“World!“]);

jquery 新手想问一下trigger(’click’)问题

用交互操作中,最简单直接的操作就是点击操作。jQuery提供了两个方法一个是click方法用于监听用户单击操作,另一个方法是dbclick方法用于监听用户双击操作。这两个方法的用法是类似的,下面以click()事件为例

使用上非常简单:

方法一:$ele.click()

绑定$ele元素,不带任何参数一般是用来指定触发一个事件,用的比较少

《div id=“test“》点击触发《div》
$(“ele“).click(function(){
alert(’触发指定事件’)
})
$(“#test“).click(function(){
$(“ele“).click()  //手动指定触发事件 });

方法二:$ele.click( handler(eventObject) )

绑定$ele元素,每次$ele元素触发点击操作会执行回调 handler函数,这样可以针对事件的反馈做很多操作了,方法中的this是指向了绑定事件的元素

《div id=“test“》点击触发《div》
$(“#test“).click(function() {    //this指向 div元素});

方法三:$ele.click( [eventData ], handler(eventObject) )

使用与方法二一致,不过可以接受一个数据参数,这样的处理是为了解决不同作用域下数据传递的问题

《div id=“test“》点击触发《div》
$(“#test“).click(11111,function(e) {    //this指向 div元素
//e.date  =》 11111 传递数据});