有没有办法使用 javascript (jquery) 使元素的行为**完全**就像它被点击一样(一种独特的情况)



我想让'select'元素的行为就像在我单击完全不同的分隔符时被单击一样。是否有可能让它表现得好像它被点击了,而它没有??

这是我的代码http://jsfiddle.net/fiddlerOnDaRoof/B4JUK/

$(document).ready(function () {
    $("#arrow").click(function () {
        $("#selectCar").click() // I also tried trigger("click");
    });
});

到目前为止,它不适用于任何一种.click();也不与.trigger("click");

更新:

根据我目前的理解,答案是否定的,你不能。尽管单击复制了该功能,但它不适用于某些示例。如果有人知道为什么会这样,请在下面发布答案,我会接受它作为最佳答案。最好请包括它无法正常工作的示例。

你可以像("selector").trigger("click")一样使用 trigger(event( 函数

您可以在没有参数的情况下调用 click 函数,这会触发人工点击。 例如:

$("selector for the element").click();

这将触发jQuery处理程序和(我相信(DOM0处理程序。我不认为它会开火它不会触发通过 DOM2 样式的addEventListener/attachEvent调用添加的处理程序,如下所示: 现场示例 |源

jQuery(function($) {
  $("#target").click(function() {
    display("<code>click</code> received by jQuery handler");
  });
  document.getElementById("target").onclick = function() {
    display("<code>click</code> received by DOM0 handler");
  };
  document.getElementById("target").addEventListener(
    'click', 
    function() {
      display("<code>click</code> received by DOM2 handler");
    },
    false
  );
  display("Triggering click");
  $("#target").click();
  function display(msg) {
    $("<p>").html(msg).appendTo(document.body);
  }
});

这是一个使用 DOM0 处理程序的 onclick="..." 属性机制的版本(源(;它也以这种方式触发。

另请注意,它可能不会执行默认操作;例如,此示例(源(使用链接,链接不会被跟踪。


如果您控制附加到元素的处理程序,这通常不是一个很好的设计选择;相反,理想情况下,您会做出要执行函数的操作,然后在单击元素时和要执行该操作的任何其他时间调用该函数。但是,如果您尝试触发由其他代码附加的处理程序,则可以尝试模拟单击。

是的。

$('#yourElementID').click();

如果使用 jquery 添加了事件侦听器,则可以使用 .trigger((;

$('#my_element'(.trigger('click'(;

当然,您可以使用以下方法触发对某些内容的点击:

$('#elementID').trigger('click');

请在此处查看文档:http://api.jquery.com/trigger/

看到你 jsfiddle,首先学习使用这个工具。

你选择了MooTools,而不是jQuery。(在此更新(

现在,在选择上触发"单击"事件不会有太大作用。我猜您希望第二个选择与第一个选择同时展开。

据我所知,这是不可能的。

如果没有,请尝试在选择上"更改"事件。

相关内容

最新更新