سؤال

يمكن للشخص مساعدتي في هذا

أحاول ضبط لون مختلف للعنصر من حدث Click.

المشكلة هي أن حدث Mouseover يجعل كل شيء أبيض مرة أخرى. لذلك، لن أحصل على رؤية اللون من الفئة النشطة (التصرف).

ماذا يمكنني أن أفعل، لقد حاولت بالفعل وضع في انتشار سطر ستيفت ()؟

شكرا ريتشارد

$("#tbestel_opties2 span").live("mouseover", function() {
            $t=$(this);
            if(!$t.hasClass('actief')){

                $t.css({'color':'#fff','backgroundColor':'#fdc601'}); 
            }
        });
        $("#tbestel_opties2 span").live("mouseout", function() {
                $t=$(this);
                if(!$t.hasClass('actief')){
                $t.css({'color':'#333','backgroundColor':'#fdc601'});                                                                          }
        });

        $("#tbestel_opties input,#tbestel_opties2 span").live("click", function(e)
        {e.stopPropagation(); 
            $t=$(this);
              $('#tbestel_opties2 .actief').removeClass("actief").css({'color':'#333'});

             $t.addClass("actief")

            $("#opties li:eq(0)").addClass("actief");


    }); 
هل كانت مفيدة؟

المحلول

استخدام فئة بدلا من ذلك. عند النقر فوق عنصر، أضف فئة أخرى إلى العنصر. تأكد من عدم تعيين هذه الفئة قبل أن تفعل أي شيء في Mouseover / Out. يحتوي هذا أيضا على ميزة السماح لك بنقل التصميم للعناصر النقر إلى CSS إذا كنت ترغب في ذلك.

نصائح أخرى

تتوقف وظيفة التوقف عن التوقف عن السلوك الافتراضي لحدث Click وليس لديه حاملة على الماوس.

تغيير استخدام الخاص بك من محدد CSS إلى وظيفة AddClass يتوافق مع هذه التغييرات CSS، ستتمكن من الحصول على ترتيب الأحداث التي تبحث عنها.

لا تمطر على العرض المسج، ولكن لماذا لا تستخدم فقط: Hover Psuedo Class؟

جرب هذا في حدث Mouseover الخاص بك:

var currentColor = $(this).css("background-color");
jQuery.data($(this).get(0), "basecolor", currentColor);

يخزنها البيانات الوصفية بالعنصر. ثم يمكنك قراءة هذه القيمة في حدث Click

var currentColor = jQuery.data($(this).get(0), "basecolor");
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top