当前位置: 代码迷 >> JavaScript >> Angular 动态生成的事件 ID 定位
  详细解决方案

Angular 动态生成的事件 ID 定位

热度:114   发布时间:2023-06-05 11:48:45.0

使用 jQuery,我可以定位和 ID 以“conditionValue”开头

$(document).on('focus', "[id^=conditionValue]", function (event) {
    // code
});

如何在 Angular 中找到以“conditionValue”开头的 ID。 我可能想要一个按钮点击事件。

因此,这在下面不起作用,因为它只会以conditionValue开头并且更像conditionValue434

因此,下面的代码需要修改。

$scope.conditionValue= function () {
    // code 
};

如果您打算处理click事件,则AngularJS的方法是使用ng-click指令。

因此,您的HTML代码将是:

<div id="conditionValue434" data-ng-click="myClickEventHandler($event)"></div>

然后,在您的控制器中,您将定义点击事件处理程序:

$scope.myClickEventHandler = function (evt) {
    //evt is the jQuery event object or the jQLite object
    //Some code here
};

但是,如果您打算将click事件处理程序添加到可能存在或不存在的DOM元素中,并且您特别需要侦听DOM元素的事件,那么AngularJS的方法是创建一个 。
上面提到的参考资料提供了出色的示例,可以帮助您入门。

所选答案正确。 我建议您不要用evt来使代码变得神秘,尽管“事件”是最清楚的,甚至“ clickEvent”都是非常具体的,也没有什么错。 世界各地写了太多的Terse代码。

HTML:

<button id="conditionValue{{someThing.id}}" data-ng-click="conditionValueClickEventHandler($event)" class="btn-yellow">Save</button>

controller.js

$scope.conditionValueClickEventHandler = function (event) {
    console.log(event.target.id);  // F12 in browser to see 
    //alert(event.target.id)   // if you want to use an alert...
};

请注意,当您要获取ID值时,将要使用以下代码:

event.target.id   (pending that event is the incoming parameter)