Vue: يلتقط @ keydown.tab أيضًا shift + tab

تم إنشاؤها على ٦ مارس ٢٠١٧  ·  3تعليقات  ·  مصدر: vuejs/vue

يلتقط @ keydown.tab أيضًا shift + tab. هل هذا هو السلوك المتوقع؟ إذا كان هناك خطأ ، فسأقوم بتوبيخه.

التعليق الأكثر فائدة

فقط لتحديث هذا ، نظرًا لأن 2.5.0 vue يحتوي على معدل .exact ، الذي يمنع هذا السلوك تمامًا:

@keydown.tab.exact="dostuff()"

لن يعمل هذا إلا عند الضغط على مفتاح tab ، وليس عند الضغط على مفتاح shift + tab. راجع https://vuejs.org/v2/guide/events.html#exact -Modifier للمزيد.

ال 3 كومينتر

نعم ، هذا متوقع. يجب عليك التحقق صراحة من عدم الضغط على التحول

إليك ترميز الحل لتحقيق ذلك:

<your-element @keydown.tab="handleTabPress(someData, $event)"></your-element>

داخل وظيفة المعالج ، يمكنك اكتشاف ما إذا كان SHIFT معلقًا بفحص $event :

handleTabPress(someData, e) {
    // if SHIFT key is held to navigate backwards, exit through this gate
    if (e.shiftKey) {
        console.log('halting event due to SHIFT+TAB');
        return;
    }

    // otherwise, execute normal logic
    console.log('tab was pressed', someData);
},

فقط لتحديث هذا ، نظرًا لأن 2.5.0 vue يحتوي على معدل .exact ، الذي يمنع هذا السلوك تمامًا:

@keydown.tab.exact="dostuff()"

لن يعمل هذا إلا عند الضغط على مفتاح tab ، وليس عند الضغط على مفتاح shift + tab. راجع https://vuejs.org/v2/guide/events.html#exact -Modifier للمزيد.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

bdedardel picture bdedardel  ·  3تعليقات

finico picture finico  ·  3تعليقات

gkiely picture gkiely  ·  3تعليقات

hiendv picture hiendv  ·  3تعليقات

aviggngyv picture aviggngyv  ·  3تعليقات