add dom-listener func