加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – 使用ng-click的md-autocomplete模板无法阻止选择

发布时间:2020-12-17 17:17:10 所属栏目:安全 来源:网络整理
导读:我试图在md-autocomplete的md-item-template中放置一个按钮来调用某个动作. 问题:我无法阻止选择项目. $event.preventDefault();不起作用,文档也没有提示. 我的目标是允许(正常)选择建议,或者当您单击按钮时,应将此建议中的文本复制到搜索框中.在第二种情况
我试图在md-autocomplete的md-item-template中放置一个按钮来调用某个动作.

问题:我无法阻止选择项目. $event.preventDefault();不起作用,文档也没有提示.

我的目标是允许(正常)选择建议,或者当您单击按钮时,应将此建议中的文本复制到搜索框中.在第二种情况下,用户现在可以继续写入以进一步缩小他的搜索范围. Google在其移动搜索中具有此功能,允许用户缩小搜索范围而无需编写所有内容,我希望在我的应用中使用此功能.

<md-autocomplete md-selected-item="nvSearchCtrl.selectedItem"
             md-search-text="nvSearchCtrl.unfinishedParticle"
             md-items="item in nvSearchCtrl.querySearch(nvSearchCtrl.unfinishedParticle)"
             md-item-text="item.name">
<md-item-template>
    <div layout="row">
        <span>{{item.name}}</span>
        <md-button ng-click="$event.preventDefault();nvSearchCtrl.unfinishedParticle=item.name;"
                   class="md-icon-button">
            <md-icon>call_made</md-icon>
        </md-button>
    </div>
</md-item-template>
</md-autocomplete>

我准备了一个显示错误的小提琴:https://jsfiddle.net/4509c87b/

解决方法

以下是您的问题的解决方案.在下面的代码段中添加了一个新的指令停止事件.

通过使用角度指令完成

.directive('stopEvent',function () {
    return {
        restrict: 'A',link: function (scope,element,attr) {
            element.bind('click',function (e) {
                e.stopPropagation();
            });
        }
    };
 });

Fiddle here

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读