onclickでも全然だいじょうぶなんですが、スマホ対応する時だとonclickイベントは300msくらいの遅延が発生してしまうので、独自のtouchイベントを定義しているサービスが多いようです。
有名なライブラリだと、hammer.jsのtouchイベントを使うのが楽みたいです。
http://eightmedia.github.io/hammer.js/