 
 	_refreshEditorDom: ()->
 		if @_triState and @_value isnt @_onValue and @_value isnt @_offValue
+			@_ignoreSemanticEvent = true
 			@get$Dom().checkbox("set indeterminate")
+			@_ignoreSemanticEvent = false
 			return
 		super()
 

		return

	_refreshEditorDom: ()->
		@get$Dom().checkbox(if @_value is @_onValue then "check" else "uncheck")

	_doRefreshDom: ()->
		return unless @_dom

	_bindToSemantic: ()->
		@get$Dom().checkbox({
			onChange: ()=>
				return if @_ignoreSemanticEvent
				@_setValue(@_getValue())
				if not @_ignoreInputEvent
					@fire("input", @)
