+ 13
[fixed] Onclick not working
I wanted to change image and text when user clicks a button. But nothing happens after clicking button 😢 Why ? https://code.sololearn.com/Wcqmj0SjU7yR/?ref=app
44 Answers
+ 33
"click" function name doesn't work. Please rename your function. Hope it works.
Here is the explanation:
https://stackoverflow.com/questions/4388443/javascript-function-name-cannot-set-as-click#:~:text=Because%20there's%20a%20.
+ 17
The 'click' by itself is NOT a javascript reserved keyword outside the context of the inline event handler .
That is to say the "click" method defined in the question is valid.
//I hope this works
Try by using event handler 'externally' will work. E.g. using jQuery:
$('input').click(click);
+ 15
wlcm :D
+ 9
Change the name of the click function
Try anything else other than click and it will work
+ 7
For Cross-platform capabilities, try using this function that I, Kode Krasher and a few others brought up and have been using every since, main credits to Kode krasher
const eventBasedOnDevice = navigator.userAgent.match(/ipod|ipad|iphone/i) ? 'touchstart' : 'click';
document.getElementById(/*id of whatever you want to check for clicks/*).addEventListener(eventBasedOnDevice, function event(event) {
touchHandler(); //what you want to happen onclick
})
+ 5
Kode Krasher
Is the line
navigator.userAgent.match(/ipod|ipad|iphone/i)
to know whether the user device is Android/ iPhone/ other ?
+ 5
Kode Krasher
Hmm I could do that after a long experiment 😅😅
https://code.sololearn.com/WB2xjlW46c3c/?ref=app
+ 4
Aditya
Oh I got it
Thank you very much again 😊
+ 4
Sofi💞 Thank you 😊
I got it now
+ 4
Kode Krasher
Thank you very much Sir for explaining it
+ 4
مهان علوی مجد
But I don't know what is eventlistner, as I have not completed JavaScript 😔.
Can you please give an example how it works ?
+ 4
Kode Krasher
Thank you
I was also thinking to use arrays, so that we can use many images as we wish.
But I couldn't understand this
if ( theMsg === messages[1] )
How does this count the number of clicks or how does it work ?
+ 3
Vachila64☕
Would you please give an example ? (code)
I couldn't understand that function 😢
+ 3
Kode Krasher
I have not tried yet 😅
Let me try first
+ 3
change name of function to clickme for example.
you can't use "click" for name of a function.
+ 3
Kode Krasher
Again I had never tried such projects 😅. But let me try once.
+ 3
Kode Krasher
Thank you again 😊
+ 3
Kode Krasher
Oh now I got it
First it checks whether (theMsg === messages[1]) or not
Then it returns false, so it exicutes else statement and changes to to Second image and text.
When we press the button again, the if condition returns true and again changes to first image and text.
In this way the loop continues.
Am I right ?