是否有任何方法可以使用javascript(jquery)使元素行为**完全**就好像它被点击一样(一种独特的情况)

时间:2012-05-04 12:31:47

标签: javascript jquery html

我想让'select'元素表现得就像点击一个完全不同的分隔符时一样。有没有可能让它表现得好像被点击时不是?

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

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

到目前为止它都没有与.click();合作 也不是.trigger("click");

更新

从我目前的理解答案是否定的,你不能。虽然点击复制功能,但它不适用于像这样的某些示例。如果有人知道这是为什么请发布下面的答案,我会接受它作为最佳答案。最好包括不能正常工作的例子。

6 个答案:

答案 0 :(得分:9)

您可以使用("selector").trigger("click")

等触发器(事件)功能

答案 1 :(得分:2)

您可以不带参数调用click函数,这会触发人为点击。 E.g:

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

这将解雇jQuery处理程序和(我相信)DOM0处理程序。 我不认为它会触发它不会触发通过DOM2样式的addEventListener / attachEvent调用添加的处理程序,如下所示:Live example | source

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);
  }
});

here's a versionsource)使用DOM0处理程序的onclick="..."属性机制;它也会被触发。

另请注意,它可能不会执行默认操作;例如this examplesource)使用链接,链接不会被跟踪。


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

答案 2 :(得分:1)

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

答案 3 :(得分:0)

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

$( '#my_element')触发( '点击');

答案 4 :(得分:0)

当然,您可以使用以下命令触发点击:

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

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

答案 5 :(得分:0)

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

您选择的是MooTools而不是jQuery。 (更新here

现在,在选择上触发“点击”事件不会有太大作用。 我想你希望第二个选择与第一个同时展开。

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

如果没有,请尝试选择“更改”事件。