본 사이트는 여러분의 사용자 경험을 개선하기 위해 유지 보수를 진행하는 동안 기능이 제한됩니다. 도움말로 문제가 해결되지 않고 질문을 하고 싶다면 Twitter의 @FirefoxSupport 및 Reddit의 /r/firefox 채널을 활용하세요.

Mozilla 도움말 검색

고객 지원 사기를 피하세요. 저희는 여러분께 절대로 전화를 걸거나 문자를 보내거나 개인 정보를 공유하도록 요청하지 않습니다. "악용 사례 신고"옵션을 사용하여 의심스러운 활동을 신고해 주세요.

자세히 살펴보기

programmatically open select drop down

more options

I have created a Effective date drop down in my application using <select> and i want to open the drop down when a user presses enter key, which does not happen in firefox. I checked multiple forums but could not find a solution to do it. Can you please help? I tried doing this:

$(document).keyup(function(e) {
                        if (e.keyCode == 13){
                            if($("#effDateStartMonth").is(":focus")){
                                e.preventDefault();
//     Option 1         angular.element("#effDateStartMonth").triggerHandler('mousedown');
// Option 2 angular.element("#effDateStartMonth").mousedown();
/* Option 3 var event;
                                event = document.createEvent('MouseEvents');
                                event.initMouseEvent('mousedown',true,true,window);
        this.dispatchEvent(event); */
                           }
                        }
                    })
I have created a Effective date drop down in my application using <select> and i want to open the drop down when a user presses enter key, which does not happen in firefox. I checked multiple forums but could not find a solution to do it. Can you please help? I tried doing this: <pre><nowiki>$(document).keyup(function(e) { if (e.keyCode == 13){ if($("#effDateStartMonth").is(":focus")){ e.preventDefault(); // Option 1 angular.element("#effDateStartMonth").triggerHandler('mousedown'); // Option 2 angular.element("#effDateStartMonth").mousedown(); /* Option 3 var event; event = document.createEvent('MouseEvents'); event.initMouseEvent('mousedown',true,true,window); this.dispatchEvent(event); */ } } })</nowiki></pre>

글쓴이 cor-el 수정일시

모든 댓글 (3)

more options

This forum has mixed results when you paste HTML. A leading space triggers a <pre> block. Omitting the comment block:

awebdeveloper said

$(document).keyup(function(e) {
  if (e.keyCode == 13){
    if($("#effDateStartMonth").is(":focus")){
      e.preventDefault();
      // Option 1
      angular.element("#effDateStartMonth").triggerHandler('mousedown');
      // Option 2
      angular.element("#effDateStartMonth").mousedown();
    }
  }
})

Are your libraries up-to-date? I have never used AngularJS, so it's a black box to me.

Firefox has various security rules about when keyboard and mouse actions can be generated by a script, or should I say, when they will be discarded as untrusted.

Do you see any messages in either of Firefox's consoles along those lines when your keyboard handler runs?

more options

Do you know how to do it using jquery? I will make it work for angularjs. Also, I am not getting any error in consoles, it just does not open drop down on key press.

more options

I don't know jQuery well enough, either.

From what I see in search results, mousedown is a dead end. Lots of other ideas out there. For example:

https://stackoverflow.com/questions/17943475/how-to-open-option-list-of-html-select-tag-on-onfocus