سؤال

إذا كنت تعرف طريقة أفضل للقيام بذلك، فيرجى إخبارنا بذلك. الحق لدي صفحة ستتضمن الكثير من الأزرار والرسوم البيانية والجداول. لقد قرأت عن إيقاف اقتراح الحدث وهذا ما سأصيده. أريد أن تمكن المساعدة على عناصر السيرين. لدي مربع اختيار يغير المؤشر في التعليمات الممكنة. ما أريد القيام به هو الإعداد وظيفة المساعدة قبل سلوك النقر العادي.

أساسا انها مثل هذا.

<input type="button" value="Click me" onclick="alert ('hello')" />

ما أريده هو أنه إذا تم النقر فوق مربع الاختيار، فأمام فئة CSS (تم بالفعل) ثم أضف معالج نقرة قبل النقر العادي. عند النقر فوق العنصر، يتم تشغيل HelpFunction ولم يتم تشغيل المعالج النقر فوق الزر الافتراضي. عندما لا يتم التحقق من مربع الاختيار المساعدة، أريد إزالة وظيفة التعليمات. أدرك أنني استطعت أن يستعد هذا كل عنصر ولديك فحص في التعديل لمعرفة ما إذا كان مربع الاختيار فحص. لكنني أفضل طريقة أكثر واقعية للقيام بذلك.

شكرا

يوحنا

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

المحلول

        $(":button").each(function() {

            // your button
            var btn = $(this); 

            // original click handler
            var clickhandler = btn.attr("onclick");
            btn.attr("onclick", "return false;");

            // new click handler
            btn.click(function() {

                if ($("#chkbox").attr("checked") == true) {

                    // TODO: show your help
                    // TODO: catch event

                }
                else {

                    clickhandler();

                }
            });
        });

نصائح أخرى

أعتقد أنك تريد أن تلعب مع BIND / Unbind في هذه الحالة - انظر http://docs.jquery.com/events/unbind#peffn.

عند تحديد خانة الاختيار، يمكنك ربط أحداث النقرات الجديدة على الأزرار الخاصة بك - وانضمامها لاحقا.

من المحتمل أن تعمل أيضا مع الحدث .preventdefault (http://docs.jquery.com/events/jquery.event.) من أجل قمع سلوك النقر الافتراضي إذا كنت لا تريد ذلك

سوف تستخدم شيئا ما يحب:

$("a").bind("click", function(event){
 if ($("#helpcheckbox").attr('checked')
 {
  event.preventDefault();
  // do something
 }
});

دون مزيد من التعليمات البرمجية من الصعب أن تكون أكثر دقة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top