标签: jquery-trigger

触发器在jQuery中触发器与触发器

出于好奇 - jQuery的用例/用例是triggerHandler什么?据我所知道的,唯一的"真实"之间的差异trigger,并triggerHandler为本地事件触发与否,和事件冒泡行为(虽然triggerHandler的冒泡的行为似乎并不很难用复制trigger的代码几行) .确保本机事件不会触发有什么好处?

我很好奇这是否是一个便利功能,或者它存在更深层次的原因,以及我何时/什么时候使用它.

jquery events javascript-events jquery-trigger jquery-triggerhandler

29
推荐指数
1
解决办法
2万
查看次数

触发器时,jquery triggerHandler不起作用

我将一个单击事件添加到一个复选框,该复选框将根据其检查状态显示/隐藏其他字段.我希望处理程序在加载时触发以设置初始页面结构.由于某种原因,triggerHandler不在该领域工作.如果我将其更改为"触发",则处理程序将触发,但复选框状态也将更改.你能看出我做错了什么/为什么triggerHandler不起作用?

$('body').on("click", "#hdimage", function(){
    console.log('hd');
    if(!$('#hdimage').is(':checked')){
        $('.sd-dim').hide();
    } else {
        $('.sd-dim').show();
    }
});
$('#hdimage').triggerHandler('click');
Run Code Online (Sandbox Code Playgroud)

jquery event-handling jquery-trigger jquery-triggerhandler

8
推荐指数
1
解决办法
4220
查看次数

触发锚标记上的点击事件不起作用

我刚刚遇到这个问题

小提琴

click锚标记上的触发事件在这里不起作用.

<a class="button2" href="#popup1">hello</a>
<div id="popup1" class="overlay">
  <div class="popup">
    <div class="contentSpec">
      <h2>Would you like to visit</h2>
      <h1>someURL</h1>
    </div>
    <a class="close" href="#"></a>
    <div class="content">

      <div class="box">
        <a class="button" href="#popup1">YES</a>
        <a class="button1" href="#popup1">NO</a>
      </div>
    </div>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

JS:

$(document).ready(function() {
  $(".button2").trigger('click');
});
Run Code Online (Sandbox Code Playgroud)

我的问题是,为什么触发事件在这种情况下不起作用?

jquery jquery-trigger

8
推荐指数
2
解决办法
1万
查看次数

为什么jQuery triggerHandler()有效,但是trigger()没有?

使用triggerHandler()作品单击元素:

$element = $('#gwt-debug-location-pill-edit-div:visible');
$element.triggerHandler('click');
Run Code Online (Sandbox Code Playgroud)

但是,使用它来点击它trigger()不会:

$element.trigger('click');
Run Code Online (Sandbox Code Playgroud)

这是为什么?


要复制它(在Firefox和Chrome中):

  • 转到https://adwords.google.cn/select/home,然后使用您的凭据登录
  • 工具和分析->关键字规划师
  • 展开"输入或上传关键字以查看其效果"
  • 使用浏览器的控制台,尝试通过上面的两种方法单击位置框(在下面的屏幕截图中用红色标记)(你需要将jQuery注入页面.我使用jQuerify来做到这一点.)

在此输入图像描述

javascript jquery javascript-events jquery-trigger jquery-triggerhandler

2
推荐指数
1
解决办法
1474
查看次数

模拟javascript从下拉菜单中选择

我正在尝试模拟一个 javascript 以从下面的下拉列表中进行选择。我在这里尝试此代码,但它不起作用。

$('select[name="srctype"]').val(2).trigger('change');
Run Code Online (Sandbox Code Playgroud)

我在这里做错了吗?我的javascript是否因为下面的代码布局而搞砸了?

我正在努力选择 value="single"

<select name="srctype" class="formselect" onchange="typesel_change()">
    <option value="any" selected="selected">any</option>
    <option value="single">Single host or alias</option>
    <option value="network">Network</option>
    <option value="pptp">PPTP clients</option>
    <option value="pppoe">PPPoE clients</option>
    <option value="l2tp">L2TP clients</option>
    <option value="wan">WAN subnet</option>
    <option value="wanip">WAN address</option>
    <option value="lan">LAN subnet</option>
    <option value="lanip">LAN address</option>
</select>
Run Code Online (Sandbox Code Playgroud)

html javascript html-select jquery-trigger

1
推荐指数
1
解决办法
6335
查看次数

从$(document).ready()调用时未触发自定义事件;

我有以下代码

$(document).ready(function () {

    VerifyCustomerFilter();

    $("#ToDateStor").on("DateSet", function () {
       ...
    );

   function VerifyCustomerFilter() {
     if(toDate != "")     
       $("#ToDateStor").trigger('DateSet'); //This does not work
   }
}
Run Code Online (Sandbox Code Playgroud)

当我在函数'VerifyCustomerFilter()'中的条件为真时,无法触发我创建的自定义事件.

但是,当我在DatePicker的事件中触发事件时,它可以完美地工作:请参阅

 $("#calTo").datepicker({
      showButtonPanel: false,
      onClose: function (dateText, inst) {
          var ToDate = $(this).val().toString();
          $('#ToDateStor').html(ToDate).trigger('DateSet'); // This works!
      }
 });
Run Code Online (Sandbox Code Playgroud)

也已经尝试过使用了triggerHandler().

我该怎么做错了?

jquery custom-events jquery-trigger jquery-triggerhandler

0
推荐指数
1
解决办法
1237
查看次数

Jquery在不同事件上执行/触发相同的代码

我有自定义标签的onclick事件的这个功能 densitybtn='yes'

$("[densitybtn='yes']").on('click', function () {
    var no_of_people = 0;
    //calcdensity
    $("[calcdensity='yes']").each(function () {
        no_of_people = parseInt($(this).val()) + no_of_people;
    });
    var total_density = parseInt(carpetArea) / parseInt(no_of_people);
    $("#densityVal").html(Myval);
});
Run Code Online (Sandbox Code Playgroud)

我可以通过扩展到$("[calcdensity ='yes']")来扩展相同的代码.on('blur')

$("[calcdensity='yes']").on('blur').$("[densitybtn='yes']").on('click', function () {

});
Run Code Online (Sandbox Code Playgroud)

我不确定在不同的事件上执行相同的代码

让我知道这种方法是否正确?或者有其他可用方式吗?

javascript jquery jquery-trigger

0
推荐指数
1
解决办法
49
查看次数