I too wear glasses. I hate the iPhone and similar ear buds, they won't stay put.
I had several <$20 pairs of Sonys like these, looks like they may be discontinued now. They sound alright, and stay put, but do little for mitigating other external noise and they were always a pain to untangle.
I finally wised up, and went to in-ear buds, they're squishy silicone that fit in your ear canal. I did a lot of research and decided Sennheiser was the brand for me. The Sennheisers all come with 3 sizes of replaceable silicone buds to fit most ears.
Initially, I lucked out and got a pair of Sennheiser OCX880 as an egbuster deal 1/2 price on Newegg.com. Those were the best sounding earbuds I've ever had. Sadly I left them on a plane some years later. Even though I liked them so much, I couldn't bring myself to pay full price for them, and instead replaced them with a pair of Sennheiser CX280.
They don't make the OCX880 anymore but you can still get the CX280 but they've been discontinued as well, so supplies are limited.
After 6 years of heavy use, the right side driver on my CX280 started sounding a little "cellophaney," probably my fault, I cleaned them out with a can of compressed air a couple years ago, which blew the little screen out, never to be seen again.
Just this week I replaced my trusty CX280s with a new pair of IE 4, I decided I didn't need the built in volume control, since I never really used it on either of my previous two ear buds. I've only had them a couple days now, but sound quality wise the IE 4 are every bit as good as the CX280s, maybe better. The only thing I don't like about the IE 4s is the cheaper cord. Both my OCX880s and CX280s had the higher end, thicker insulation, "tangle free" cords, the IE 4 seem to have pretty generic 2 strand speaker wire.
I even got SWMBO on the Sennheiser bandwagon, and she replaced her iPhone buds with some CX200 in-ear buds several years ago.
Having the in-ear buds makes air travel, and mowing the lawn so much nicer, since they're basically ear plugs with speakers in them. They're not quite "noise canceling" head phones, but there at least ~70% as good at canceling noise, and a whole lot cheaper.