كيفية إزالة "محرر آخر آخر" من حقل (مكون الإضافي jQuery inplace.js)

StackOverflow https://stackoverflow.com/questions/646567

سؤال

أنا قادر على إعداد المحرر في مكان لا مشكلة ، كل شيء يعمل بشكل رائع ، لكنني لم أجد طريقة لإزالته بمجرد إرفاقه بحقل ، أي شخص يعرف كيف؟

أنا أتحدث عن هذا البرنامج المساعد هنا: http://www.davehauenstein.com/code/jquery-edit-in-place/

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

المحلول

أفترض أنك تعني أنك تريد تعطيل المحرر في مكانه.

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

إذا لم يكن الأمر كذلك ، فربما يمكنك استخدام خدعة Div Cache القديمة الجيدة:

$.fn.disableWithADiv() {
    var element = $(this);
    var pos = element.offset();
    $("body").append($("<div />").css({
        "position": "absolute",
        "z-index": 1000,
        "left": pos.left+"px",
        "top": pos.top+"px",
        "width": element.width(),
        "height": element.height(),
        "display": "block"
    }).attr("id",element.attr("id")+"-div-disabler"));
}

$.fn.removeDivDisabler() {
    var element = $(this);
    $("#"+element.attr("id")+"-div-disabler").remove();
}

ثم استخدام

$("#yourElement").disableWithADiv();   // To disable
$("#yourElement").removeDivDisabler(); // To re-enable

إذا سار كل شيء كما هو مخطط له ، فسيقوم Div بمسح أحداث النقر بدلاً من العنصر ولن يتم فتح المحرر الموجود في مكانه.

هذا من أعلى رأسي ، لست متأكدًا من عدم وجود خطأ مطبعي أو عيب منطقي كبير هناك ؛)

تعديل:

حسنًا ، هناك مشكلة ... يجب تغليف أجسام وظيفتين في هذا البناء:

return this.each(function() {
    // Body here
});

ما أغباني.

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