【问题标题】:I want to use a scope variable as part of my javascript's onfocus function's argument我想使用一个范围变量作为我的 javascript onfocus 函数参数的一部分
【发布时间】:2016-09-21 18:17:41
【问题描述】:
<input ng-show="showFolderNameInput"
type="text"
name="folderName"
ng-model="folderName"
style="margin-left: 5%; width: 90%;padding-left:5px;"
placeholder="{{enterFolderName}}"
autofocus/>
这是一些 HTML,我想添加一个 javascript 处理程序 onfocus=setSelectionRange(aaa,bbb),并且我希望它的参数“aaa”和“bbb”成为一个范围变量。
【问题讨论】:
标签:
javascript
html
angularjs
angularjs-scope
【解决方案1】:
你需要以更“angularjs”的方式思考:
只需使用ng-focus:
<input ng-show="showFolderNameInput"
type="text"
name="folderName"
ng-model="folderName"
style="margin-left: 5%; width: 90%;padding-left:5px;"
placeholder="{{enterFolderName}}"
autofocus
ng-focus="focused(aaa,bbb)"/>
在你的控制器中,创建监听器:
$scope.focused = function(aaa, bbb){
console.log(aaa, bbb);
}
这样,您将能够在控制器中处理所有 javascript:这将使您拥有更有条理和可维护的代码。
【解决方案2】:
使用 ng-focus
<input ng-show="showFolderNameInput" type="text" name="folderName" ng-model="folderName" style="margin-left: 5%; width: 90%;padding-left:5px;" placeholder="{{enterFolderName}}" ng-focus=setSelectionRange(aaa,bbb)/>