Just came across this question, and wanted to suggest an alternate approach.
In the markup the OP provided, there is a click event binding. This makes me think that the elements are being used as "buttons". If that is the case, they could be marked up as elements and styled like links, if that is the look you desire. (For example, Bootstrap has a built-in "link" button style, https://v4-alpha.getbootstrap.com/components/buttons/#examples)
This has several direct and indirect benefits. It allows you to bind to the disabled
property, which when set will disable mouse and keyboard events automatically. It lets you style the disabled state based on the disabled attribute, so you don't have to also manipulate the element's class. It is also better for accessibility.
For a good write-up about when to use buttons and when to use links, see Links are not buttons. Neither are DIVs and SPANs