GVKun编程网logo

如何获取JQuery.trigger('click'); 启动鼠标单击(jquery获取鼠标点击位置)

26

在本文中,您将会了解到关于如何获取JQuery.trigger的新资讯,同时我们还将为您解释'click';启动鼠标单击的相关在本文中,我们将带你探索如何获取JQuery.trigger的奥秘,分析'

在本文中,您将会了解到关于如何获取JQuery.trigger的新资讯,同时我们还将为您解释'click'; 启动鼠标单击的相关在本文中,我们将带你探索如何获取JQuery.trigger的奥秘,分析'click'; 启动鼠标单击的特点,并给出一些关于css – 如何获取jQuery UI Datepicker按钮与输入内联?、javascript – jQuery .trigger(‘click’)、javascript仿jquery的trigger触发鼠标事件实例分享、jQuery Button.click() 事件被触发两次 - jQuery Button.click() event is triggered twice的实用技巧。

本文目录一览:

如何获取JQuery.trigger('click'); 启动鼠标单击(jquery获取鼠标点击位置)

如何获取JQuery.trigger('click'); 启动鼠标单击(jquery获取鼠标点击位置)

我很难理解如何使用JQuery模拟鼠标单击。有人可以告诉我我做错了什么吗?

HTML:

<a id="bar" href="http://stackoverflow.com" target="_blank">Don''t click me!</a><span id="foo">Click me!</span>

jQuery的:

jQuery(''#foo'').on(''click'', function(){    jQuery(''#bar'').trigger(''click'');});

当我单击#foo按钮时,我想模拟对#bar的单击,但是当我尝试这样做时,什么也没有发生。我也尝试过jQuery(document).ready(function(){...})但没有成功。

答案1

小编典典

您需要使用jQuery(''#bar'')[0].click();模拟实际的DOM元素(而不是jQuery对象)上的鼠标单击,而不是使用.trigger()jQuery方法。

注意:DOM Level 2在Safari中的某些元素.click()上不起作用。您将需要使用解决方法。

css – 如何获取jQuery UI Datepicker按钮与输入内联?

css – 如何获取jQuery UI Datepicker按钮与输入内联?

在MVC 5项目中,使用默认引导布局,我使用以下代码将某个类的所有输入设置为jQuery UI Datepicker小部件:
$(".jqueryui-marker-datepicker").datepicker({
    dateFormat: "yy-mm-dd",changeYear: true,showOn: "button"
}).next("button").button({
    icons: { primary: "ui-icon-calendar" },label: "Select a date",text: false
});

这是在上述调用执行后由Razor和jQuery UI呈现的HTML,减去一些咏叹调和验证数据属性:

<div>
    <labelfor="Time">Date</label>
    <div>
        <inputid="Time" name="Time" type="text" value="2015-05-02">
        <button type="button"role="button" title="Select a date">
            <span></span><span>Select a date</span>
        </button>
        <spandata-valmsg-for="Time" data-valmsg-replace="true"></span>
    </div>
</div>

这个问题是datepicker按钮出现在日期输入下方。这是因为引导.form控制类使输入显示:block。如果我在Chrome的控制台中编辑这个内嵌块,按钮就会立即显示在输入的右侧,正好在我想要的位置。

现在我可以添加一个新的CSS规则如下:

.form-control.jqueryui-marker-datepicker {
  display: inline-block;
}

但我只是不确定这是否是最好的方式来做到这一点,对引导程序所做的所有布局魔法影响最小。

解决方法

用于显示输入旁边的按钮的引导比喻是使用像这样的 input-group
<div>
  <input type="date"placeholder="Date" />
  <span>
    <buttontype="button">
        <span></span>
    </button>
  </span>
</div>

您可以调整脚本格式化输出以通过包装这样的内容来添加这些类和HTML结构:

$(".jqueryui-marker-datepicker")
  .wrap('<div>')
  .datepicker({
    dateFormat: "yy-mm-dd",showOn: "button"
  })
  .next("button").button({
    icons: { primary: "ui-icon-calendar" },text: false
  })
  .addClass("btn btn-default")
  .wrap('<span>')
  .find('.ui-button-text')
  .css({
    'visibility': 'hidden','display': 'inline'
  });
<link href="//cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.4/jquery-ui.css" rel="stylesheet"/>
<link href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.2/css/bootstrap.css" rel="stylesheet"/>

<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.2/js/bootstrap.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.4/jquery-ui.js"></script>

<input type="text">

替代w / Bootstrap

话虽如此,这是一个非常有趣的方式来做到这一点。我会添加一个本机引导字形,而不是强制按钮显示正确。混合jQuery-UI和Bootstrap也很常见,因为功能上有很多重叠,并且它们并不总是在一起玩。我会建议只是使用datepicker插件扩展引导。

这是使用bootstrap-datepicker的一个例子

$('.datepicker').datepicker({});

// 
$('.datepicer-icon').on('click','.btn',function(e) {
  $(e.delegateTarget).find('.datepicker').focus();
});
<link href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.2/css/bootstrap.css" rel="stylesheet"/>
<link href="//cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.3.1/css/datepicker.css" rel="stylesheet"/>

<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.2/js/bootstrap.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.3.1/js/bootstrap-datepicker.js"></script>

<div>

  <h3>With Input Group</h3>
  <div>
    <input type="text"placeholder="Date" />
    <span>
      <buttontype="button">
        <span></span>
      </button>
    </span>
  </div>

  <h3>With Feedback</h3>
  <divhttps://www.jb51.cc/tag/Feed/" target="_blank">Feedback">
    <input type="text"placeholder="Date" />
    <ihttps://www.jb51.cc/tag/Feed/" target="_blank">Feedback"></i>
  </div>

</div>

javascript – jQuery .trigger(‘click’)

javascript – jQuery .trigger(‘click’)

我无法让这个工作.我想触发第二个链接.如果有人可以提供帮助,那将非常感激.

    $(".links").click(function () {
        alert($(this));
    })


    function someFunction(){
        $(".links").trigger('click');
    }

    someFunction();

    ...
    
最佳答案
让someFunction()接受一个参数,该参数是您想要单击的基于0的链接索引.

function someFunction( n ){
    $(".links:eq(" + n + ")").trigger('click');
}

someFunction( 1 ); // Pass 1 to trigger the second link

这使用the :eq() selector.如果你愿意,你也可以使用the .eq() method.

function someFunction( n ){
    $(".links").eq( n ).trigger('click');
}

javascript仿jquery的trigger触发鼠标事件实例分享

javascript仿jquery的trigger触发鼠标事件实例分享

项目过程中会使用到用户触发了一个事件,需要对另外一个元素同样进行触发相应的事件然后执行相应的代码,jquery中就可以通过trigger实现

trigger api

这里写图片描述

今天想了一下,如果没有jq,那用js是怎么实现的呢?最近第二次看《javascript高级程序设计》这边书又有了一些收获。
如果是实现触发click事件,第一印象肯定是直接element.click(); 就可以了,那触发dbclick、mouseleave、focus 、mouseenter等事件是不是也可以直接element.mouseleave()呢?

于是执行了一下发现,报错了!没错并不是简单的加个element.eventType()这样就可以直接触发相应的事件了。

这里写图片描述

立即学习“Java免费学习笔记(深入)”;

于是自然想到到createEvent initEvent dispatchEvent 这些方法了。

// 创建一个事件对象,就好像你绑定事件回调函数里获得的那个事件对象一样var myEvent = document.createEvent(&#39;Event&#39;)
// 初始化这个事件对象,为它提高需要的“特性”myEvent.initEvent(&#39;myEventName&#39;, true, true)
// 按照常见的方式绑定对该事件的监听,这里的 element 可以是任何一个元素,你懂的element.addEventListener(&#39;myEventName&#39;, function(evt) {
  // 这里,evt 就是你创建的事件对象了,不过它会更丰富一些——这些是浏览器为你做的})// 然后这样触发它element.dispatchEvent(myEvent)
登录后复制

直接上代码:(试了下不兼容 <= IE8 )

<!DOCTYPE html><html lang="zh-cmn-Hans"><head>
    <meta charset="utf-8" />
    <title>原生javascript防jquery的trigger触发鼠标事件</title>
    <meta name="author" content="" />
    <style>
        .p{height:40px;width:100px;background:#ccc;}
    </style></head><body>
    <h2>我是H2</h2>
    <p>点击p</p></body></html><script>

    var h2 = document.querySelector("h2");    var p = document.querySelector(".p");

    h2.onclick = function(event){
        var ev = event || window.event;
        console.log(ev.type);
    }

    h2.ondbclick = function(event){
        var ev = event || window.event;
        console.log(ev.type);
    }

    h2.onmouseenter = function(event){
        var ev = event || window.event;
        console.log(ev.type);
    }

    h2.onmouseleave = function(event){
        var ev = event || window.event;
        console.log(ev.type);
    }

    h2.onfocus = function(event){
        var ev = event || window.event;
        console.log(ev.type);
    }

    h2.onblur = function(event){
        var ev = event || window.event;
        console.log(ev.type);
    }    //触发事件方法
    function trigger(elem, event){

        var myEvent = document.createEvent(&#39;Event&#39;)        // 初始化这个事件对象,为它提高需要的“特性”
        myEvent.initEvent(event, true, true);        //执行事件
        elem.dispatchEvent(myEvent);
    }

    p.onclick = function(){

        trigger(h2, "click");   //触发click事件

        trigger(h2, "dbclick"); //触发dbclick事件

        trigger(h2, "mouseenter");  //触发mouseenter事件

        trigger(h2, "mouseleave");  //触发mouseleave事件

        trigger(h2, "blur");    //触发blur事件

        trigger(h2, "focus");   //触发focus事件

    }</script>
登录后复制

结果如下:

这里写图片描述

(试了下不兼容

以上就是javascript仿jquery的trigger触发鼠标事件实例分享的详细内容,更多请关注php中文网其它相关文章!

jQuery Button.click() 事件被触发两次 - jQuery Button.click() event is triggered twice

jQuery Button.click() 事件被触发两次 - jQuery Button.click() event is triggered twice

问题:

I have the following problem with this code:这段代码有以下问题:

<button id="delete">Remove items</button>

$("#delete").button({
     icons: {
             primary: ''ui-icon-trash''
     }
}).click(function() {
     alert("Clicked");
});

If I click this button, the alert show up two times.如果我单击此按钮,警报会显示两次。 It''s not only with this specific button but with every single button I create.它不仅与这个特定按钮有关,而且与我创建的每个按钮有关。

What am I doing wrong?我究竟做错了什么?


解决方案:

参考: https://stackoom.com/en/question/Cska

关于如何获取JQuery.trigger'click'; 启动鼠标单击的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于css – 如何获取jQuery UI Datepicker按钮与输入内联?、javascript – jQuery .trigger(‘click’)、javascript仿jquery的trigger触发鼠标事件实例分享、jQuery Button.click() 事件被触发两次 - jQuery Button.click() event is triggered twice等相关知识的信息别忘了在本站进行查找喔。

本文标签: