fix onblur, onchange, and settings set bug