जावास्क्रिप्ट - KeyDown पर स्वैप divs

वोट
1

मैं के रूप में निम्न कोड में दिखाया गया है, एक लिंक पर क्लिक करके दो divs स्वैप कर सकते हैं, लेकिन कैसे मैं उन्हें एक कुंजी दबाकर स्वैप करते हैं?

यह वही है जो मेरे पास है:

function SwapDivs(div1, div2) {
        d1 = document.getElementById(div1);
        d2 = document.getElementById(div2);
        if (d2.style.display == none) {
            d1.style.display = none;
            d2.style.display = block;
        } else {
            d1.style.display = block;
            d2.style.display = none;
        }
    }
<p>
    <a href=javascript:SwapDivs('FirstDiv','SecondDiv')>Swap Divs</a>
</p>


<div id=FirstDiv style=display:block>
    <p>
        This div is displayed when the page opens.
    </p>
</div>

<div id=SecondDiv style=display:none>
    <p>
        This div is displayed when the link is clicked.
    </p>
</div>

मैंने पहले OnKeyDown का इस्तेमाल किया है, लेकिन मैं समझ नहीं इसे यहाँ कैसे लागू करने के लिए ...

यह सिर्फ काम नहीं करता है:

    document.body.addEventListener(keydown, function(event) {
        if (event.keyCode === 32) {
            function SwapDivs(div1, div2);
        }
    });

19/09/2018 को 13:22
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


1 जवाब

वोट
2

  1. यदि आप एक समारोह को कॉल करते हैं तो आप इसे पहले "समारोह" कीवर्ड बारे में नहीं है।

  2. आप दो न के बराबर चर बुलाया पारित कर दिया div1और div2समारोह में SwapDivsजो घटना श्रोता अंदर बुलाया गया था।

  3. आप शरीर के लिए एक घटना श्रोता जोड़ रहे हैं, तो आप जोड़ने के लिए <body>टैग।

एक उदाहरण के रूप में मैं "तीर नीचे कुंजी" जो कीकोड 40 है इस्तेमाल किया।

    document.body.addEventListener("keydown", function(event) {
        if (event.keyCode === 40) {
           SwapDivs('FirstDiv','SecondDiv');
        }
    });

यहाँ एक codepen है: https://codepen.io/anon/pen/MqZomW

19/09/2018 को 13:24
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more