我在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>
这就是你点击的内容,它不是标签,而是标签内的东西。不幸的是,裸文本似乎没有被JQuery识别,但它是通过vanilla javascript。
任何人都可以帮忙确认一下吗?
我创建了一个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);