I have made a website. I visited this website using different mobile browsers and I am getting an error related to visual display and button click event.
Do I need to test with a large number of devices, or will using emulators be enough?
There are so many devices in the world that you will ruin yourself if you try to buy many devices. I recommend some emulator website like https://www.browserstack.com
You can select the operating software, the browser and its version. And without doing automation on it, it's not that expensive.
Not in my experience, I've seen multiple examples of tests that pass on emulators but fail real world. Mostly these are non-functional or look and feel issues. If your automated tests pass in your emulator(i.e. everything is functionally correct) how will you know that it looks OK, is correctly styled, alignment is correct etc? These issues can be very important to clients.
I think you can 80% trust emulators but there's still no substitute for a physical device and a good QA. Emulators also limit mobile\app testing which should take into account bandwidth usage, battery drain and so on.
Given that over 95% of mobile sales are now Android\iOS you don't need much of a device farm to get decent coverage. We mostly test on desktop browsers, latest IPhone\Android and maybe a tablet or two. We also use Ghostlab to chain devices then run one complete pass across the device farm near the end of QA cycles.
TLDR - I'm not against emulators but I don't trust them 100% I still ask my teams to do some manual spot checks on real devices(belt and braces!).
Testing on mobile devices consider the following: