Skip to main content
Participant
Oct 24, 2022 8:28 PM UTC
Question

using key presses to call a function

Hi, i am trying to get the "enter" key press to call the same function as my button click for a textinput component in animate (canvas), but it seems to not want to work with anything that uses a "this", only with elements that are actually part of the DOM that are referenced with getElementById.

 

I have this code here for the eventlistener and the function:

 

window.addEventListener("keydown", keyPressed.bind(this));

 

function keyPressed(evt) {
var k = evt.key.toLowerCase();
if (k=="enter") {
document.getElementById("inputBox").value = "";

this.chatRecord.text = "test";
}
}

 

it works fine with setting the inputBox to blank,  but will not do anything with the chatRecord called using "this".

what am i doing wrong? can someone please help, thanks!

 

 

    This topic is closed to new replies. Start a new post to keep the conversation going.

    5 replies

    kglad
    Community Expert
    Community Expert
    Oct 24, 2022 8:40 PM UTC

    you need a dynamic textfield with instance name chatRecord at the time that code executes.

    Translate
    Participant
    Oct 24, 2022 9:47 PM UTC

    Hi ya, i do have the dynamic textfield named chatRecord on the stage, and everything is already fully loaded before this function is called, is there something i need to do in addition to that?

    Translate
    kglad
    Community Expert
    Community Expert
    Oct 24, 2022 9:54 PM UTC

    open your browser's developer console and find the error.

     

    if tou don't know how to use it,

     

    lesson 1 - https://youtu.be/PBDQN9CQSeI

     

    lesson 2 - https://youtu.be/KJEl0OenGUY

    Translate