$('#id')。触发器('click')和document.getElementById('id')之间有什么区别.Click()?

时间:2016-03-14 23:51:10

标签: javascript jquery telerik

我在chrome上编写了一个tampermonkey脚本来模拟鼠标点击,发现只有document.getElementById('id').click()触发了正确的行为。

预期的行为是显示和隐藏日期选择器。使用$('#id').trigger('click')我只能隐藏日期选择器。我认为我不应该添加更多细节,因为这可能会增加更多的混淆。

该页面基于Telerik,因此我找不到一种简单的方法来简化页面并隔离问题。

更新

这是DOM代码

<a title="Open the calendar popup." href="#" id="id" class="rcCalPopup">
    Open the calendar popup.
</a>

阅读thisthis后,看起来aa的内容导致此问题。

  

这就是你点击的内容,它不是标签,而是标签内的东西。不幸的是,裸文本似乎没有被JQuery识别,但它是通过vanilla javascript。

任何人都可以帮忙确认一下吗?

更新2:

我创建了一个jsfiddle here。这并不理想,因为我必须添加Telerik的依赖来重现这个问题。

    setTimeout(function () {
        $('#id')[0].click(); // Show the date-picker
        document.getElementById('id').click(); // Hide the date-picker
        $('#id').trigger('click'); // Not working, should show the date-picker again. Tried for <button> and it worked fine.
}, 1000);

0 个答案:

没有答案