0

次の select 要素のオプション要素の mouseover および mouseleave イベントにバインドするディレクティブを使用したいと考えています。

<select class="form-control" jr-option-bind="" ng-model="vm.selectedPersonalInfo" ng-options="personalInfo as personalInfo.name for personalInfo in vm.personalInfos"></select>

これはうまくいきません。jr-option-bind は私のディレクティブです:

function link(scope, element, attrs) {

        var options = element.children();
        options.bind('mouseover', function(){
           console.log('mouseover');
        });
        options.bind('mouseleave', function(){
            console.log('mouseleave');
        });
    }
4

3 に答える 3

0

これはうまくいくはずです:

function link(scope, element, attrs) {

        var options = element.children();
        $(element).on('mouseover', 'option', function(){
           console.log('mouseover');
        });
        $(element).on('mouseleave', 'option', function(){
            console.log('mouseleave');
        });
    }
于 2015-03-30T12:22:44.890 に答える
0

これを調査して学んだことは、IE と Chrome では、ドロップダウンのオプション要素に対してマウスオーバーまたはマウス入力が許可されていないということです。ラジオボタンを使うことにしました。

于 2015-04-06T10:50:27.687 に答える
0

次のように選択要素を分解することもできます。

<select class="form-control" jr-option-bind="" ng-model="vm.selectedPersonalInfo">
    <option ng-repeat="personalInfo as personalInfo.name for personalInfo in vm.personalInfos">
        {{personInfo.name}}
    </option>
</select>

そして、次のようなオプション要素に ng-mouseover または ng-mouseleave を追加します

<option ng-mouseleave="myFunction()">
于 2015-03-31T18:59:29.077 に答える