Javascript jQuery.click()正在单击,但它不应该´;T
在测试JavaScript时,我遇到以下问题:Javascript jQuery.click()正在单击,但它不应该´;T,javascript,jquery,html,css,testing,Javascript,Jquery,Html,Css,Testing,在测试JavaScript时,我遇到以下问题: $('idOfMyElement')。单击() 被执行。但是我想验证一下我的测试,也就是说,没有执行,因为它有以下CSS: 我调试了它,可以肯定的是,当执行.click()时,它肯定具有前面提到的CSS属性。在我的普通程序中,它工作(意味着点击不工作),但在我的测试中,点击工作,即使它不应该工作 我没有clou,可能有什么问题。 谢谢你的帮助 看起来您在测试中使用$(“#idOfMyElement”)以编程方式触发事件。单击();在这种情况下,它
$('idOfMyElement')。单击()代码>
被执行。但是我想验证一下我的测试,也就是说,没有执行,因为它有以下CSS:
我调试了它,可以肯定的是,当执行.click()
时,它肯定具有前面提到的CSS属性。在我的普通程序中,它工作(意味着点击不工作),但在我的测试中,点击工作,即使它不应该工作
我没有clou,可能有什么问题。
谢谢你的帮助 看起来您在测试中使用$(“#idOfMyElement”)以编程方式触发事件。单击()代码>;在这种情况下,它不受CSS鼠标规则的约束,因此将执行单击处理程序
在触发测试套件中的单击事件之前,您需要检查鼠标指针规则。指针事件仅正确响应真实的指针事件。如果您触发click()函数,它将在您创建它的所有时间内激发。如果指针事件处于活动状态,只需添加一个条件读数,或将其替换为禁用的属性即可使用jQuery防止默认的单击事件:
$('#idOfMyElement').on('click', function(e) {
e.preventDefault(); });
*更新*
既然我知道了您要做什么,我强烈建议您使用javascript而不是CSS,因为CSS的工作方式与您尝试使用它的方式不同–javascript确实如此。不要使用CSS属性,而是使用Javascript变量
当您希望元素可单击时
$('idOfMyElement').prop('disabled',false)代码>
当它应该不可读取时
$('idOfMyElement').prop('disabled',true)代码>
浏览器在不需要CSS的情况下处理光标,单击事件应该做出适当的反应。希望这是有帮助的 好的,这意味着我必须在我的测试中比在我的程序中更具体?在我的程序中,我没有额外的鼠标指针规则或类似的检查。在我的程序中,我给元素提供了提到的css属性,然后单击什么都不做,一切都很好。但是在这个解决方案中,单击永远不会执行,不是吗?当给定所提到的css属性时,单击应该什么也不做。对不起,我的英语不好,我不理解;-)更新我的答案以满足您的需要!