Javascript 在DOM上存储触发的事件

Javascript 在DOM上存储触发的事件,javascript,jquery,html,css,Javascript,Jquery,Html,Css,如何在DOM中存储触发的事件。假设我有一个div,我想在上面鼠标移动时改变div的颜色。鼠标移出后,再次将div的颜色更改为先前的颜色。同样,当我点击显示为活动的div时,改变颜色 我的代码如下: $(document).on("mouseover", ".imgpayment", function(){ $(this).parent().css("background","#89C4F4"); }); $(document).on("mouseout", ".imgpayme

如何在DOM中存储触发的事件。假设我有一个div,我想在上面鼠标移动时改变div的颜色。鼠标移出后,再次将div的颜色更改为先前的颜色。同样,当我点击显示为活动的div时,改变颜色

我的代码如下:

  $(document).on("mouseover", ".imgpayment", function(){
    $(this).parent().css("background","#89C4F4");
 });

 $(document).on("mouseout", ".imgpayment", function(){
    $(this).parent().css("background","none");
 });

 $(document).on("click", ".imgpayment", function(){
    $(this).parent().css("background","#59ABE3");
    $(this).parent().find(".the-terms").prop('checked', true);
    $("#submitBtn").removeAttr("disabled");
 });
问题在于:

我怎么知道div中已经触发了click事件,所以mouseout事件不会触发,因为它将颜色更改为默认值,并且我无法显示div已被单击并处于活动状态。

您不应该使用css方法进行样式操纵。你可以看出原因——在僵化的语言中很不方便。如果您切换类,将不会有问题

$document.onmouseover、.imgpayment、函数{ $this.parent.addClass'active'; }; $document.onmouseout、.imgpayment、函数{ $this.parent.removeClass'active'; }; $document.onclick、.imgpayment、函数{ $this.parent.toggleClass'selected'; $this.parent.find.theterms.prop'checked',true; $submitBtn.removeattrIsabled; }; .主动{ 背景:89C4F4; } .选定{ 背景:593; } 测试悬停要高亮显示,请单击以选择
使用CSS类和:hover pseudo selector您可以控制台。记录“这就是情况”谢谢。我已经实现了简单的逻辑,但它不可能从jquery实现吗?你的确切意思是什么,但它不可能从jquery实现吗?什么是不可能的?我的意思是不可能直接使用jquery css方法而不切换类。比如存储click事件处理程序,如果已经单击,则不要触发mouseout事件。当然这是可能的,但我强烈建议不要这样做。但可以,您可以将状态标志存储在对象属性或数据属性$this.data'clicked',true中。例如,。谢谢您的回复。