如何使用JS / jQuery在DIV元素上模拟click事件

时间:2014-03-14 10:23:49

标签: javascript jquery html onclick

http://services.groupes.be/ibrunet/ibrunet.aspx?lg=NL

我正在尝试使用class="x-grid-cell-inner"模拟DIV元素上的点击事件(带文字Ibrunet,Signaletiek ..)

首先我插入了jQuery。

javascript:var s=document.createElement('script');s.setAttribute('src', 'http://code.jquery.com/jquery.js');document.getElementsByTagName('body')[0].appendChild(s);alert("loaded");void(s);

然后我尝试了这个

var bedragenDivClass = "x-grid-cell-inner ";
var bedragenDivText = "Bedragen";
var divs = document.getElementsByClassName(bedragenDivClass);
for (var i = 0, len = divs.length; i < len; i++) {
    if(divs[i].innerText.localeCompare(bedragenDivText) == 0){
        alert("found");
    };
};

我已经参考了这个DIV但是我尝试了几个不同的功能来触发点击事件而没有任何成功

.trigger()

.triggerHandler()

.click()

当我打开Chrome Dev Tools时,我可以看到几个处理程序与DIV绑定但我不知道如何触发它们

不寻常的是我可以模拟点击右侧面板上的输入元素

var contractTypeInputId = "Cmb_Type_Contrat_Ibrunet_PLus-inputEl";
var contractTypeInput = document.getElementById(contractTypeInputId);
contractTypeInput.click();

此外,我可以点击脚本点击后显示的输入的elemenet。

由于那些DIV没有id属性,我认为我需要id来触发事件,我已经在Dev Tools中给了它们,我可以在之后检索它,但是再次触发onClick事件没有成功。

最奇怪的是当我运行这样的事情时:

$("div").click();

我可以看到许多DIV被点击了,但那些我指定的那些人没有受到影响。

如果我可以触发事件就像点击那个DIV一样简单,为什么我没有模拟它呢?

1 个答案:

答案 0 :(得分:1)

使用jquery

$(".-grid-cell-inner:contains(Ibrunet, Signaletiek)").click(function () {
 alert(1);
});
$(".-grid-cell-inner:contains(Ibrunet, Signaletiek)").trigger("click");