那么这个问题已经问过,但在jQuery的上下文中。在jQuery我们可以通过事件对象(link)的originalEvent属性检查它,它告诉它是否是手动或编程事件。
在我的情况下,我是使用Javascript事件监听器和触发器。我们可以区分这两种事件(编程和手动)在这种情况下?
如果不是那么任何解决方法??Javascript:检测事件是否由用户触发,而不是以编程方式触发
我的听众:
function setUpListeners(){
_cellViewWrapper.addEventListener('mousedown',mouseDownHandler,false);
_cellViewWrapper.addEventListener('mouseover',mouseEnter,false);
_cellViewWrapper.addEventListener('blur',blurHandler,true);
_cellViewWrapper.addEventListener('focus',focusEventHandler,true);
}`
触发用例: 1)
if(!IE_FLAG) hidePicker();
//if browser is internet explorer
else{
//if blur is allowed then hide Picker
if(_ieBlurAllowed) hidePicker();
//if blur is not allowed -- keep focus on picker input
//triggering the focus event here
else blurredElement.focus();/
}
2)if((inputElem !== _focussedInput)) setTimeout(function(){ inputElem.focus(); },10);
还有更多...
jQuery是只是JavaScript。如果在jQuery中你可以做到这一点,你可以在js中完成。 – rottenoats
嗯....任何想法他们如何在jQuery中做到这一点? –
以编程方式触发事件的代码是什么? – Scimonster