• 0

هل بإمكاني تمرير كائن في دالة Onclick على JaveScript؟

أريد تمرير كائن Object  في دالة OnClick باستخدام لغة JavaScript؟ 

هذا ما أريده:

<script type="text/javascript">

//The constructor :
function Foo()
{   
    /*  div إضافة الوسم*/
    div_element = document.createElement("div");
    document.body.insertBefore(div_element, null);

    /*إخفاء الوسم */
    this.hide = function()
    {
        div_element.style.display = "none";
    }

    /*إضافة زر بداخل الوسم مرتبظ بحدث الإخفاء*/
    div_element.innerHTML = '<input type="button" value="Hide" onclick="this.hide();">';
}

foo = new Foo();

</script>

 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

مبدأيًا الكائن foo يوجد ضمن مجاله الدالة وبالتالي فالدالة hide ستطبق عليها لأنه وبكل بساطة سيتعرف عليها إذ استخدمت داخل نطاقه ولن تعتبر النافذة هي this في هذه الحالة.

أيضا استعمل الكلمة var لتعريف متغير فيصبح تعريفك للوسم بهذه الطريقة :

    var div_element = document.createElement('div');

ليكون الكود البرمجي بشكل صحيح هو:

function Foo()
{   
    var div_element = document.createElement('div');

    this.hide = function()
    {
        div_element.style.display = 'none';
    }

    // زر الإخفاء
    var btn = document.createElement('input');
    btn.type = 'button';
    btn.value = 'Hide';
    btn.onclick = this.hide;

    // إضافة الزر إلى الوسم
    div_element.appendChild(btn);

    // إضافة الكل إلى الصفحة
    document.body.insertBefore(div_element, null);
}

foo = new Foo();

 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن