使用 angularJS 触发点击最近的 div

2024-04-20

嗨,我有以下代码:

angular.module("myApp", []).controller("myController", function($scope) {
  $scope.clickedInput = function() {
    setTimeout(function() {
      angular.element('.addon').triggerHandler('click');
    }, 100);
  }

  $scope.clickedAddon = function(number) {
    console.log(number);
  }
});
.wrapper {
  display: flex;
  flex-direction: column;
}
.inputWithAddon {
  display: flex;
  margin-bottom: 10px;
}
input {
  height: 20px;
}
.addon {
  width: 26px;
  height: 26px;
  background-color: green;
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<div class="wrapper" ng-app="myApp" ng-controller="myController">
  <div class="inputWithAddon">
    <input placeholder="1" class="myInput" ng-click="clickedInput()">
    <div class="addon" ng-click="clickedAddon(1)">1</div>
  </div>
  <div class="inputWithAddon">
    <input placeholder="2" class="myInput" ng-click="clickedInput()">
    <div class="addon" ng-click="clickedAddon(2)">2</div>
  </div>
  <div class="inputWithAddon">
    <input placeholder="3" class="myInput" ng-click="clickedInput()">
    <div class="addon" ng-click="clickedAddon(3)">3</div>
  </div>
</div>

我的想法是,当我单击输入时,它会强制单击triggerHandler()到右侧的绿色 div 并打印他的号码。它应该只是强制单击绿色 div,它位于单击的输入的右侧,而不是全部。我今天为 JQuery 写了一个类似的问题:使用触发器()在最近的 div 上强制单击 https://stackoverflow.com/questions/38302447/force-click-with-trigger-on-closest-div?noredirect=1#comment64022680_38302447

在那里它可以很好地解决更多可能的解决方案。我怎样才能用 AngularJS 达到同样的效果?

Thanks.


Pass $event到主要ng-click function然后得到.parent()然后是第二个孩子。然后触发。

var a = angular
             .element($event.target)
             .parent().children()
        angular
             .element(a[1]).triggerHandler('click');
angular.module("myApp", []).controller("myController", function($scope) {
  $scope.clickedInput = function($event) {
    setTimeout(function() {
        var a = angular
             .element($event.target)
             .parent().children()
        angular
             .element(a[1]).triggerHandler('click');
        
    }, 100);
  }

  $scope.clickedAddon = function(number) {
    console.log(number);
  }
});
.wrapper {
  display: flex;
  flex-direction: column;
}
.inputWithAddon {
  display: flex;
  margin-bottom: 10px;
}
input {
  height: 20px;
}
.addon {
  width: 26px;
  height: 26px;
  background-color: green;
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<div class="wrapper" ng-app="myApp" ng-controller="myController">
  <div class="inputWithAddon">
    <input placeholder="1" class="myInput" ng-click="clickedInput($event)">
    <div class="addon" ng-click="clickedAddon(1)">1</div>
  </div>
  <div class="inputWithAddon">
    <input placeholder="2" class="myInput" ng-click="clickedInput($event)">
    <div class="addon" ng-click="clickedAddon(2)">2</div>
  </div>
  <div class="inputWithAddon">
    <input placeholder="3" class="myInput" ng-click="clickedInput($event)">
    <div class="addon" ng-click="clickedAddon(3)">3</div>
  </div>
</div>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 angularJS 触发点击最近的 div 的相关文章

  • 使用 javascript 获取选择标签的名称

    我在任何地方都没有找到这个问题 所以我将其发布在这里 我有一堆选择标签 部分使用 VBScript 命名 我希望能够获取从 javascript 中的 onchange 事件调用的选择标签的名称 这是代码
  • jquery $('id').text 带粗体

    我有一个 jquery 可以更改链接的文本 如下所示 if urlfind gt 0 linkurl text More info 和 HTML a href a 我试图为此链接添加粗体 但添加 b More Info b 让它们在文本本身
  • 在 div 内对齐 2 个图像,一张向右,另一张向左

    我的网页中有 2 张图片 我希望一张图像左对齐 另一张图像右端对齐 The JsFiddle http jsfiddle net NbekW 这是我的 HTML div class header img src Home files ima
  • 针对较小屏幕的拆分表行

    我有一个固定宽度为 960px 有 5 列的表格 当我在移动设备中查看时 我想制作第 3 4 5 列 看起来就像在下一行 有什么方法可以让 CSS 打断一行 使其看起来像这样 但是 还保留原来的HTML代码吗 您可以使用 FlexBox f
  • 当属性值在 HTML5 中可以保持不带引号时

    HTML5 中什么时候属性值可以保持不带引号 HTML4 01 是一个 SGML 应用程序 因此 在 HTML4 中 如果值中使用的唯一字符是当前声明为名称字符的字符 字母数字字符 句号 则可以省略引号 好吧 来自 W3C 工作草案 201
  • 将图像从 JQuery 上传到 Node JS

    我需要从我的网站上传图像文件HTML页 但是 我不会使用form标签 因为还有其他form稍后将用于将数据传递到服务器的字段 文本字段 复选框等 我的后端在Node JS 我想要的只是从Node Js结尾 我怎样才能做到这一点 HTML d
  • 如何动态更改表格单元格文本颜色?

    我需要一个解决方案来通过 javascript 动态更改表格单元格的文本颜色 文本可以是以下颜色 蓝色 绿色 红色和黑色 表示例
  • 制作单行带有水平滚动条的 div

    好吧 我想我已经使用空白修复了这个问题 无换行 它在 Chrome 中工作 但在其他方面不起作用 我有这样的事情 div class outer ul li div class inner a href img src eg1 jpg a
  • 在 ng-repeat 中使用 bootstrap popover

    我有一个引导程序弹出窗口 它在有角度的外部工作ng repeat a href class tt1 Hover over me a 一旦我在 ng repeat 中使用它 它就会停止工作 我在角度控制器构造函数中初始化弹出窗口 tt1 po
  • 如何使用 iText 将 HTML 转换为 PDF [重复]

    这个问题在这里已经有答案了 import java io File import java io FileOutputStream import java io OutputStream import com itextpdf text D
  • 防止左浮动 div 转到新行

    我有 4 个 div 设置为向左浮动 但最后的 div 不断在较小的屏幕上换行两个新行 这真的很烦我 我希望它们随屏幕尺寸缩放 以便它们始终保持在同一行上屏幕尺寸 并且我尝试不使用桌子 这非常诱人 因为他们对此非常可靠 我想知道如何解决这个
  • 打开图层地图,经纬度获取地址

    我正在尝试获取带有经度和纬度的地址 城市 邮政编码 街道地址 但我不知道如何获取 我正在使用开放图层 当我单击地图的一部分时 会获取该位置的经度和纬度 有人有解决方案吗 div class map div
  • 如何将 !important 添加到 CSS-in-JS (JSS) 类属性?

    我正在尝试使用一些 CSS in JS 类这个答案 https stackoverflow com questions 54525334 how can i change the label size of a material ui te
  • 如何只显示 HTML5 datalist 中的文本而不显示值?

    这是一个例子
  • AngularJS:如何获取 JSON 对象的密钥

    我不确定这是否与 AngularJS 有任何关系 以及是否仅与 JSON 相关 无论如何 假设我们有以下 JSON scope dataSets names Horace Slughorn Severus Snape genders Mal
  • HTML5:从存储的二进制字符串播放视频

    我正在尝试使用 FileReader readAsBinaryString Blob File 将视频文件的内容作为二进制字符串读取 如示例中所示http www html5rocks com en tutorials file dndfi
  • Angular UI-Router 的“ui-sref”未按预期工作

    如果我使用 href UI Router 将按预期工作 但是 如果我使用 ui sref 它不会按预期工作 我对以下示例有两个问题 锚点 link series 2 no param 和 link series 2 one param 不会
  • 如何从对象 URL 获取文件或 blob?

    我允许用户通过拖放和其他方法将图像加载到页面中 当图像被删除时 我正在使用URL createObjectURL转换为对象 URL 以显示图像 我不会撤销该网址 因为我会重复使用它 所以 当需要创建一个FormData对象 以便我可以允许他
  • 使用 php 将 HTML 输出转换为纯文本

    我正在尝试将示例 HTML 输出转换为纯文本 但我不知道如何操作 我使用 file get contents 但我尝试转换的页面返回的结果最相似 raw http localhost guestbook profiles php file
  • @media查询和图像交换[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我希望在调整浏览器大小时网站中的图像完全改变 我一直在使用媒体查询 但我似乎无法正确使用它 有什么想法 建议吗 将来请添加您尝试过的代

随机推荐