以编程方式触发ngf-select
Trigger ngf-select programmatically
我有一个指令,应该打开文件选择器窗口时,控制器变量的变化。下面是指令的代码片段:
angular.module('settingsInternal')
.directive('triggerUpload', function ($timeout) {
return {
restrict: 'A',
link: function (scope, element) {
scope.$watch('mainCtrl.watchedVariable', function (variable) {
if (variable) {
$timeout(function () {
element.triggerHandler('click');
}, 20);
}
});
}
};
});
我遇到的问题是我无法触发div上的ngf-select。当手动单击div时,它工作得很好,并且watch函数正确调用element.triggerHandler('click')。我已经浪费了几个小时试图找出为什么这个不工作的原因,如果有人有类似的问题,请帮助我找出问题所在。
注。不要注意变量名,它们只是用于演示。
问题不出在angular的ngf-select中,而出在指令使用的input[type=file]中。Input[type=file]必须由用户创建的事件初始化,所以如果你想用一个函数打开文件上传窗口,你必须从用户创建的事件中调用该函数。我希望这对遇到类似问题的人有所帮助。
相关文章:
- jquery点击函数select&取消选择
- 为什么这在IE中的工作方式与在Firefox中不同
- 在AngularJS应用程序中使用封装指令和路由的推荐方式是什么
- 在html Select中添加搜索
- Windows8应用程序(html&Javascript):从图片库(除了文件选择器)显示图像的另一种方式
- Jquery:未触发select事件
- 如何在PHP中使用$_POST获取Select元素值
- 在localhost Dev Box上测试JSONP请求的最佳方式
- Dojo:用Options以声明方式定义类似Select的小部件
- React 和 HTML Select-component 返回 String 而不是 Integer 的最佳方式
- 使用 Javascript/jQuery 以编程方式关闭 SELECT 下拉列表
- 从js数组中获取select选项和值的最佳方式是什么
- 以编程方式触发ngf-select
- 在启用select后以编程方式更改它不起作用
- 在Chrome中以编程方式滚动非弹出式SELECT元素到底部
- 以编程方式更改由标签值对对象填充的Dojo Form Select的选定选项
- 在AngularJS指令中以编程方式选择Select box的空白选项
- KnockoutJS的select会以一种意想不到的方式影响可观察对象,这取决于select是什么时候创建的
- Openlayers 3:如何使用ol.interaction.Select以编程方式选择一个特性
- 如何以编程方式告诉 HTML SELECT 下拉(例如,由于鼠标悬停)