选择AngularJs Bootstrap设置下拉项

时间:2015-07-23 09:37:13

标签: javascript angularjs

我编写了这个自定义指令来拦截关键事件。使用按下的键,我检查下拉列表中是否有一个带有相同的第一个字母字符的项目。到目前为止一切都很好。

接下来我想把重点放在这个项目上,但它似乎不起作用。

以下是代码:http://plnkr.co/edit/dEqcMyLKLfsEccB6FS8y?p=preview

android {
    compileSdkVersion 22
    buildToolsVersion '22.0.1'
    defaultConfig {
        applicationId "com.example.name"
        minSdkVersion 14
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }
.......
dependencies {
    compile 'com.android.support:appcompat-v7:22.2.1'
    compile 'com.google.android.gms:play-services:6.5.87'
    }

该指令绑定到 myApp.directive('keypressEvents', function ($document, $rootScope) { return { restrict: 'A', link: function (scope, element, attr) { console.log('linked'); $document.bind('keypress', function (e) { var letter = String.fromCharCode(e.which); var target = e.target; var charat = element[0].textContent.charAt(13); if(element[0].tabIndex === undefined) alert('undefined1'); if(element.tabIndex === undefined) alert('undefined2'); if(element.focus === undefined) alert('undefined3'); if(element[0].focus === undefined) alert('undefined4'); if(charat === letter){ alert(letter); element[0].focus(); ////<<---- this dose not works } }); } }; }); 元素:

li

1 个答案:

答案 0 :(得分:0)

        if(charat === letter){ 

              element.addClass("active");
        }
        else{

              element.removeClass("active");
        }

只是这个代码,以防第一个字母在菜单中匹配一个 将css类设置为活动状态,在其他情况下删除活动状态。