JavaScript Error: Uncaught TypeError: foo is not a function

后端 未结 3 739
半阙折子戏
半阙折子戏 2021-01-25 01:56

For some reason JavaScript doesn\'t seem to recognise my function.

I have a button in some HTML:

3条回答
  •  旧巷少年郎
    2021-01-25 01:58

    The problem is you give to your element the same id : "lightOn". In this scope lightOn is the element, which shadows the function (read more).

    A simple solution would be to give a different id to the element or a different name to the function.

    A better one would be to separate the script from the HTML:

    
    
    $(function(){
        $('#lightOn').click(function() {
            $("#lightOn").addClass("active");
            $("#lightOff").removeClass("active");
            socket.emit("setting", {"light":"on"});
        });
    });
    

提交回复
热议问题