fix js listener bug