لا يتم تشغيل Onkeyup في Opera عند استخدام التخطيط السيريلي

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

سؤال

أجد صعوبة في فهم سبب ظهور المشكلة التالية.

لدي مربع إدخال وأريد إرفاق مربع الإكمال التلقائي به.

function input_set_autocomplete_to(obj)
{
    if( obj.type != "text" ) { return; }
    if( obj.getAttribute("rel") != "autocomplete" ) { return; }
    obj.setAttribute("autocomplete", "off");
    obj.setAttribute("uniqindex", Math.round(Math.random()*99999));
    obj.onfocus = function() {
        input_hide_autocompletes();
    };

هذه هي بداية الوظيفة.لا مشكلة هنا.ثم أقوم بربط حدثي onkeydown وonkeyup حتى أتمكن من إظهار المربع أثناء قيام المستخدم بالكتابة.

    obj.onkeydown = function(e) {
        console.log('x');
    }
    obj.onkeyup = function (e) {
        console.log('z');
    }

حتى الان جيدة جدا.كل شيء يعمل في كل متصفح (IE وFF وChrome وSafari) على كل من Windows وLinux، وأحصل على x,z عند كل ضغطة مفتاح، باستثناء Opera في Linux إذا كنت أستخدم الإدخال السيريلي (على سبيل المثال.صدفغ).لا يتم إطلاق حدث onkeyup حتى.

النظام الذي أستخدمه هو Ubuntu 9.04 مع Opera 10.10.

ملاحظة.أثناء كتابة هذا السؤال، قمت بتجربته على جهاز آخر باستخدام ArchLinux، ومرة ​​أخرى باستخدام Opera 10.10 وهو يعمل بشكل جيد.كما أرسل أحد الزملاء ملاحظة مفادها أن الأمر لا يعمل معه أيضًا على MacOS X 10.6 مع Safari، لكن لا يمكنني الاتصال به لتحديد الإصدار

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

المحلول

وفق وضع المراوغات, ، التعامل مع مفتاح Opera معطل.تحتاج إلى استخدام الضغط على المفاتيح في Opera بدلاً من ذلك.

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