Narrow selector to eliminate JavaScript keydown perf hit
Narrow selector to eliminate JavaScript keydown perf hit

The users data (/identity/users/) can get quite large in
some environments. In one of our environments, we have 800+
users. The users table on the index page is not paginated,
and so shows all 800+ users.

If you attempt to create a new user using the "Create User"
modal form, keyboard performance dies. It can take several
seconds for each keystroke to register in each input field
on the form.

It turns out that there is are several event handlers bound
to the "keydown" JavaScript event, at the level of the
document itself. This has been done to ensure that dynamic
content gets handled properly. In the case where we have
several hundred rows of data on the page, this is killing
performance.

The solution: bind the event handler to the highest level
element in the document necessary to handle the required
event. The focus of the JavaScript in play here is to
enable keyboard navigation between tabs in a form. Tab
groups will always have a DIV with a class attribute of
"tab-content". So we now bind our event handlers to that
class instead of the overall document.

Closes-Bug: #1411892
Change-Id: I9a37fb20a2506b1dabffc5f2b0b7b97341de5335

bigswitch/horizon,davidcusatis/horizon,mdavid/horizon,takeshineshiro/horizon,sandvine/horizon,coreycb/horizon,j4/horizon,takeshineshiro/horizon,j4/horizon,ChameleonCloud/horizon,noironetworks/horizon,icloudrnd/automation_tools,NCI-Cloud/horizon,watonyweng/horizon,RudoCris/horizon,noironetworks/horizon,maestro-hybrid-cloud/horizon,endorphinl/horizon,Dark-Hacker/horizon,Tesora/tesora-horizon,sandvine/horizon,dan1/horizon-proto,philoniare/horizon,idjaw/horizon,henaras/horizon,dan1/horizon-x509,anthonydillon/horizon,ChameleonCloud/horizon,django-leonardo/horizon,yeming233/horizon,icloudrnd/automation_tools,NeCTAR-RC/horizon,mdavid/horizon,mandeepdhami/horizon,RudoCris/horizon,bigswitch/horizon,FNST-OpenStack/horizon,Solinea/horizon,saydulk/horizon,endorphinl/horizon,BiznetGIO/horizon,yjxtogo/horizon,izadorozhna/dashboard_integration_tests,anthonydillon/horizon,izadorozhna/dashboard_integration_tests,Metaswitch/horizon,dan1/horizon-proto,blueboxgroup/horizon,endorphinl/horizon-fork,dan1/horizon-x509,eayunstack/horizon,bigswitch/horizon,damien-dg/horizon,VaneCloud/horizon,NCI-Cloud/horizon,wolverineav/horizon,agileblaze/OpenStackTwoFactorAuthentication,redhat-cip/horizon,wangxiangyu/horizon,dan1/horizon-proto,saydulk/horizon,tellesnobrega/horizon,newrocknj/horizon,Metaswitch/horizon,philoniare/horizon,Dark-Hacker/horizon,mdavid/horizon,wangxiangyu/horizon,RudoCris/horizon,wangxiangyu/horizon,Tesora/tesora-horizon,henaras/horizon,karthik-suresh/horizon,redhat-cip/horizon,mdavid/horizon,anthonydillon/horizon,liyitest/rr,pranavtendolkr/horizon,coreycb/horizon,FNST-OpenStack/horizon,mandeepdhami/horizon,redhat-cip/horizon,davidcusatis/horizon,davidcusatis/horizon,django-leonardo/horizon,watonyweng/horizon,liyitest/rr,NeCTAR-RC/horizon,blueboxgroup/horizon,davidcusatis/horizon,luhanhan/horizon,gerrive/horizon,dan1/horizon-x509,mandeepdhami/horizon,sandvine/horizon,openstack/horizon,gerrive/horizon,Tesora/tesora-horizon,tqtran7/horizon,redhat-cip/horizon,redhat-openstack/horizon,j4/horizon,Tesora/tesora-horizon,kfox1111/horizon,philoniare/horizon,Daniex/horizon,luhanhan/horizon,karthik-suresh/horizon,yjxtogo/horizon,openstack/horizon,Dark-Hacker/horizon,damien-dg/horizon,bac/horizon,RudoCris/horizon,NCI-Cloud/horizon,ChameleonCloud/horizon,henaras/horizon,newrocknj/horizon,FNST-OpenStack/horizon,wangxiangyu/horizon,redhat-openstack/horizon,vladryk/horizon,coreycb/horizon,endorphinl/horizon-fork,idjaw/horizon,agileblaze/OpenStackTwoFactorAuthentication,endorphinl/horizon-fork,promptworks/horizon,tellesnobrega/horizon,VaneCloud/horizon,xinwu/horizon,yjxtogo/horizon,luhanhan/horizon,xinwu/horizon,watonyweng/horizon,xinwu/horizon,BiznetGIO/horizon,maestro-hybrid-cloud/horizon,damien-dg/horizon,eayunstack/horizon,Mirantis/mos-horizon,yeming233/horizon,eayunstack/horizon,pranavtendolkr/horizon,promptworks/horizon,ChameleonCloud/horizon,takeshineshiro/horizon,takeshineshiro/horizon,dan1/horizon-x509,tellesnobrega/horizon,endorphinl/horizon,vladryk/horizon,saydulk/horizon,vladryk/horizon,django-leonardo/horizon,tqtran7/horizon,maestro-hybrid-cloud/horizon,promptworks/horizon,BiznetGIO/horizon,bac/horizon,tellesnobrega/horizon,NeCTAR-RC/horizon,kfox1111/horizon,wolverineav/horizon,bac/horizon,Daniex/horizon,yeming233/horizon,Mirantis/mos-horizon,Solinea/horizon,newrocknj/horizon,wolverineav/horizon,gerrive/horizon,liyitest/rr,wolverineav/horizon,redhat-openstack/horizon,karthik-suresh/horizon,FNST-OpenStack/horizon,Hodorable/0602,redhat-openstack/horizon,liyitest/rr,icloudrnd/automation_tools,NeCTAR-RC/horizon,endorphinl/horizon-fork,Solinea/horizon,Dark-Hacker/horizon,vladryk/horizon,noironetworks/horizon,doug-fish/horizon,sandvine/horizon,philoniare/horizon,BiznetGIO/horizon,django-leonardo/horizon,agileblaze/OpenStackTwoFactorAuthentication,henaras/horizon,gerrive/horizon,Hodorable/0602,agileblaze/OpenStackTwoFactorAuthentication,Metaswitch/horizon,noironetworks/horizon,karthik-suresh/horizon,yjxtogo/horizon,coreycb/horizon,kfox1111/horizon,pranavtendolkr/horizon,dan1/horizon-proto,pranavtendolkr/horizon,watonyweng/horizon,promptworks/horizon,Daniex/horizon,doug-fish/horizon,VaneCloud/horizon,bigswitch/horizon,saydulk/horizon,doug-fish/horizon,damien-dg/horizon,mandeepdhami/horizon,tqtran7/horizon,Mirantis/mos-horizon,Solinea/horizon,bac/horizon,idjaw/horizon,newrocknj/horizon,kfox1111/horizon,blueboxgroup/horizon,yeming233/horizon,blueboxgroup/horizon,j4/horizon,Daniex/horizon,anthonydillon/horizon,openstack/horizon,Hodorable/0602,Metaswitch/horizon,icloudrnd/automation_tools,maestro-hybrid-cloud/horizon,idjaw/horizon,tqtran7/horizon,Mirantis/mos-horizon,VaneCloud/horizon,endorphinl/horizon,doug-fish/horizon,openstack/horizon,Hodorable/0602,luhanhan/horizon,NCI-Cloud/horizon,xinwu/horizon