onclick 相关问题

用户单击对象时发生的事件。它是两个事件的组合,即“onmousedown”和“onmouseup”。

Unity On Click() 按钮界面不显示功能

我对 Unity 相当陌生,但我遇到了 Button 函数继承的问题。我有一个 UI 对象,其中包含 game_controller 脚本和三个按钮作为子对象。当我尝试添加

回答 1 投票 0

onClick 在组件中不起作用 - Reactjs

我正在制作一个小型 React 项目,在下拉列表中,我使用 onClick 并调用其中的函数。 在这里,我正在映射通过键入关键字获得的数据。对于每个数据,我都调用不同的...

回答 1 投票 0

JavaScript - document.getElementByID 与 onClick

我正在尝试在 HTML 文档中编写一个简单的游戏,只是为了好玩。其中有一个图像,单击后会添加到您的分数中。 我在分数添加函数中创建了一个简单的 if 语句 w...

回答 6 投票 0

如何在单击事件上向按钮的现有类添加另一个类名

我有一个表单,单击按钮即可发送电子邮件。但是,在发送电子邮件时,该按钮保持活动状态,允许用户多次单击它,这会中断电子邮件发送...

回答 1 投票 0

我可以在for循环中执行“onClick”函数吗?

我制作了html页面,您可以在其中单击并通过html元素的id激活功能。 我用了很多 JavaScript 代码。我可以通过for循环短路吗? 这是我的html代码: 我制作了 html 页面,您可以在其中单击并通过 html-element 的 id 激活功能。 我用了很多 JavaScript 代码。我可以通过 for 循环短路吗? 这是我的html代码: <ul> <li class="card" id="c0"><img id="i0" src="images\westren_wall.jpg"></li> <li class="card" id="c1"><img id="i1" src="images\westren_wall.jpg"></li> <li class="card" id="c2"><img id="i2" src="images\idf.jpg"></li> <li class="card" id="c3"><img id="i3" src="images\idf.jpg"></li> <li class="card" id="c4"><img id="i4" src="images\jerusalem.jpg"></li> <li class="card" id="c5"><img id="i5" src="images\jerusalem.jpg"></li> <li class="card" id="c6"><img id="i6" src="images\sixDays.jpg"></li> <li class="card" id="c7"><img id="i7" src="images\sixDays.jpg"></li> <li class="card" id="c8"><img id="i8" src="images\BGurion.jpg"></li> <li class="card" id="c9"><img id="i9" src="images\BGurion.jpg"></li> <li class="card" id="c10"><img id="i10" src="images\hertzel.png"></li> <li class="card" id="c11"><img id="i11" src="images\hertzel.png"></li> <li class="card" id="c12"><img id="i12" src="images\vaizman.png"></li> <li class="card" id="c13"><img id="i13" src="images\vaizman.png"></li> <li class="card" id="c14"><img id="i14" src="images\menora.jpg"></li> <li class="card" id="c15"><img id="i15" src="images\menora.jpg"></li> <li class="card" id="c16"><img id="i16" src="images\knesset.jpg"></li> <li class="card" id="c17"><img id="i17" src="images\knesset.jpg"></li> 我用它来激活一个功能,当点击这个JavaScript代码时: document.getElementById("c0").onclick = function(){openCard("i0",1)}; document.getElementById("c1").onclick = function(){openCard("i1", 1)}; document.getElementById("c2").onclick = function(){openCard("i2",2)}; document.getElementById("c3").onclick = function(){openCard("i3",2)}; document.getElementById("c4").onclick = function(){openCard("i4",3)}; document.getElementById("c5").onclick = function(){openCard("i5",3)}; document.getElementById("c6").onclick = function(){openCard("i6",4)}; document.getElementById("c7").onclick = function(){openCard("i7",4)}; document.getElementById("c8").onclick = function(){openCard("i8",5)}; document.getElementById("c9").onclick = function(){openCard("i9",5)}; document.getElementById("c10").onclick = function(){openCard("i10",6)}; document.getElementById("c11").onclick = function(){openCard("i11",6)}; document.getElementById("c12").onclick = function(){openCard("i12",7)}; document.getElementById("c13").onclick = function(){openCard("i13",7)}; document.getElementById("c14").onclick = function(){openCard("i14",8)}; document.getElementById("c15").onclick = function(){openCard("i15",8)}; document.getElementById("c16").onclick = function(){openCard("i16",9)}; document.getElementById("c17").onclick = function(){openCard("i17",9)}; 我可以通过 for 循环缩短此代码行吗? 是的,你可以做得更容易: for(var i = 0;i <= 17;i++){ document.getElementById("c" + i).onclick = function(){ openCard("i" + i, Math.floor(i / 2) + 1); }; } 处理此问题的最佳方法是通过事件委托:将 click 钩在 ul 上,然后使用 e.target 来引用所单击的特定 img。存储您需要的有关该元素的任何信息: <ul id="list"> <li class="card" id="c0"><img data-card="i0" data-index="0" src="images\westren_wall.jpg"></li> <li class="card" id="c1"><img data-card="i1" data-index="0" src="images\westren_wall.jpg"></li> <li class="card" id="c2"><img data-card="i2" data-index="1" src="images\idf.jpg"></li> <!-- ... --> </ul> 然后只有一名处理程序: document.getElementById("list").addEventListener("click", function(e) { openCard(e.target.getAttribute("data-card"), +e.target.getAttribute("data-index")); }); 或者如果您更喜欢.onclick(但没有理由这样做,除非您必须支持像 IE8 这样真正过时的浏览器): document.getElementById("list").onclick = function(e) { openCard(e.target.getAttribute("data-card"), +e.target.getAttribute("data-index")); }; 实例: document.getElementById("list").addEventListener("click", function(e) { openCard(e.target.getAttribute("data-card"), +e.target.getAttribute("data-index")); }); function openCard(card, index) { console.log("card = " + card + ", index = " + index); } <ul id="list"> <li class="card" id="c0"><img data-card="i0" data-index="0" src="images\westren_wall.jpg"></li> <li class="card" id="c1"><img data-card="i1" data-index="0" src="images\westren_wall.jpg"></li> <li class="card" id="c2"><img data-card="i2" data-index="1" src="images\idf.jpg"></li> <!-- ... --> </ul> 实际上,再看一下标记,您根本不需要 data-card;它是 img 的父元素,所以: <ul id="list"> <li class="card"><img data-index="0" src="images\westren_wall.jpg"></li> <li class="card"><img data-index="0" src="images\westren_wall.jpg"></li> <li class="card"><img data-index="1" src="images\idf.jpg"></li> <!-- ... --> </ul> 和 document.getElementById("list").addEventListener("click", function(e) { openCard(e.target.parentNode, +e.target.getAttribute("data-index")); }); ...您需要更改 openCard,以便它需要元素本身,而不是 id。 实例: document.getElementById("list").addEventListener("click", function(e) { openCard(e.target.parentNode, +e.target.getAttribute("data-index")); }); function openCard(element, index) { // use `element` and `index` here, the following code is just for the demo: element.appendChild(document.createTextNode(" opened, index = " + index)); } <ul id="list"> <li class="card"><img data-card="i0" data-index="0" src="images\westren_wall.jpg"></li> <li class="card"><img data-card="i1" data-index="0" src="images\westren_wall.jpg"></li> <li class="card"><img data-card="i2" data-index="1" src="images\idf.jpg"></li> <!-- ... --> </ul> 如果您在每个 img 元素上设置自定义属性(如 data-img-index ),那么您可以在每个类名上设置值为 card 的单击事件。最后获取 id 和自定义属性值,即 data-img-index 像这样传递你的 openCard(id, attr); 方法 ID:var id = this.children[0].id; 自定义属性: var attr = this.children[0].attributes['data-img-index'].nodeValue; var classname = document.getElementsByClassName("card"); for (var i = 0; i < classname.length; i++) { classname[i].addEventListener('click', function() { var id = this.children[0].id; var attr = this.children[0].attributes['data-img-index'].nodeValue; openCard(id, attr); }); } function openCard(id, num) { console.log(id, num) } <html> <body> <ul> <li class="card" id="c0"><img id="i0" data-img-index=1 src="images\westren_wall.jpg"></li> <li class="card" id="c1"><img id="i1" data-img-index=1 src="images\westren_wall.jpg"></li> <li class="card" id="c2"><img id="i2" data-img-index=2 src="images\idf.jpg"></li> <li class="card" id="c3"><img id="i3" data-img-index=2 src="images\idf.jpg"></li> <li class="card" id="c4"><img id="i4" data-img-index=3 src="images\jerusalem.jpg"></li> <li class="card" id="c5"><img id="i5" data-img-index=3 src="images\jerusalem.jpg"></li> <li class="card" id="c6"><img id="i6" data-img-index=4 src="images\sixDays.jpg"></li> <li class="card" id="c7"><img id="i7" data-img-index=4 src="images\sixDays.jpg"></li> <li class="card" id="c8"><img id="i8" data-img-index=5 src="images\BGurion.jpg"></li> <li class="card" id="c9"><img id="i9" data-img-index=5 src="images\BGurion.jpg"></li> <li class="card" id="c10"><img id="i10" data-img-index=6 src="images\hertzel.png"></li> <li class="card" id="c11"><img id="i11" data-img-index=6 src="images\hertzel.png"></li> <li class="card" id="c12"><img id="i12" data-img-index=7 src="images\vaizman.png"></li> <li class="card" id="c13"><img id="i13" data-img-index=7 src="images\vaizman.png"></li> <li class="card" id="c14"><img id="i14" data-img-index=8 src="images\menora.jpg"></li> <li class="card" id="c15"><img id="i15" data-img-index=8 src="images\menora.jpg"></li> <li class="card" id="c16"><img id="i16" data-img-index=9 src="images\knesset.jpg"></li> <li class="card" id="c17"><img id="i17" data-img-index=9 src="images\knesset.jpg"></li> </ul> </body> </html> 是的,您可以编写一个循环来附加所有这些处理程序。但在包含所有 li 的 ul 上放置一个 onclick 处理程序会更容易。当单击发生时,Javascript 将在祖先元素列表中一直查找处理程序(还有更多内容,但目前已经足够接近了)。 然后,处理程序可以查看原始的“目标”元素,以准确找出要传递给 opencard() 函数的参数。您可以将参数值放在该元素上的某个位置(可能在属性中,因此您可以使用 getAttribute() 获取它们),或者您的处理程序可能能够计算它们。在您的示例中,您可以通过获取目标元素的 ID 并将“c”更改为“i”来计算第一个参数,并通过一些算术计算第二个参数。 您可以自动生成 HTML 和 JavaScript。 我在示例中使用了 jQuery,但您也可以使用纯 JavaScript 来实现此目的。 // Generate your html // Only specify the pictures you want to display // The pictures are the only differences you have on your <li> const data = [ 'images\westren_wall.jpg', 'image2', 'image3', 'image4', 'image5', ].map((x, xi) => `<li class="card" id="c${xi}"><img id="i${xi}" src="${x}"></li>`); // Insert it into the page at the right position $("#myData").html(data); // trigger the clicks for each <li> having the card class $('.card').each(function(x) { $(this).click(function() { // It will say hi when you i'll click on a <li>! console.log(`Hi i'm number ${this.getAttribute('id')}`); }); });<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <ul id="myData"> <!-- Where the <li> are going to get inserted --> </ul>

回答 5 投票 0

在状态栏隐藏网址

我读到人们多次问过这个问题,我已经找到了答案,尽管我必须手动为博客中的所有链接执行此操作。但我对格式感到困惑,我不能......

回答 3 投票 0

在活动类脚本中有一个自动突出显示的按钮

我有一个按钮列表,可以更改文本的字体系列。我想在选择某个选项时更改边框和文本颜色。 我的 JavaScript 运行良好,但是当...

回答 1 投票 0

CSS 中不应用悬停效果。确切的问题是什么?

我正在尝试为搜索栏构建搜索列表,当光标放置在列表中时,列表应该改变颜色,并且当从显示的项目列表中单击时,列表应该被选中。 搜索列表.jsx: 导入反应...

回答 1 投票 0

如何在 Svelte 中删除并重新添加点击侦听器?

点击这里 有时我希望 div 可点击,有时则不然。如何按需删除和添加点击侦听器? 这是工作...

回答 1 投票 0

从列表视图连接到网络

请参阅下面的我的代码。这会生成一个包含所有可用 wifi 连接的列表视图。 我的目标是连接到列出的可用连接之一。 我已经尝试了几种方法,但它不起作用...

回答 1 投票 0

Jquery onClick 不适用于 iPhone,但适用于 Android

所以我有这个代码: $(".left-nav-icon").on("点击touchstart", function () { $(".nav_aside").toggleClass("显示"); }); 它的目的是显示一个侧边栏...

回答 1 投票 0

最简单的解决方案:“onClick”事件更改图标的“颜色”(平台 = Carrd.co)

导航菜单图像 我有一个视频库图标的固定标题导航菜单。目前,图标在悬停时会改变颜色。 我想添加一个“onclick”事件来更改籼稻的图标颜色...

回答 1 投票 0

从 iframe 获取包含父页面的点击坐标

我的页面中有一个 iframe,当我单击它时,我会显示一个包含信息的小方块。问题是 iframe 通过发布消息给出的坐标是正确的,除非滚动 i...

回答 1 投票 0

如何在 javascript 中通过一次 onclick 获得多个事件

我对此非常陌生,在学习 html/css/javascript 时正在尝试一个小项目。所以,很抱歉,如果这是一个相当明显的问题/答案。 基本上,我让我的(非常简单)网站有一个黑暗的

回答 1 投票 0

单击 html/javascript 中的按钮时如何生成新文本?

我正在尝试创建一个按钮,每次单击时,都会从列表中生成一个新句子。我现在所拥有的只是在刷新页面时生成一个新句子,但我不知道该做什么...

回答 1 投票 0

onClick 在移动设备上不起作用(触摸)

好吧,我想做的是当用户单击列表项时向下滑动 div。 问题是我正在使用 Selectric https://github.com/lcdsantos/jQuery-Selectric 它将选择框转换为 unord...

回答 4 投票 0

Android Studio 中的“没有应用程序可以执行此操作”

我正在使用这个库在 Android Studio 中裁剪图像。我的代码可以在我的手机上运行,但是在模拟器上,当您需要选择图像时,我看到消息“没有应用程序可以执行此操作”....

回答 3 投票 0

当用户单击按钮时如何向文本区域添加文本

我想在用户单击按钮时将文本添加到文本区域。我知道如何连接字符串并将其添加到文本区域,但我想要的是将文本添加到用户单击的文本区域内的位置/位置...

回答 4 投票 0

使用Javascript向输入元素添加禁用属性

我有一个输入框,我希望禁用它并同时隐藏它以避免移植表单时出现问题。 到目前为止,我有以下代码来隐藏我的输入: $(".shownextrow").click(fu...

回答 9 投票 0

如何在选择下拉plaeholder时禁用onClick事件?

我尝试了各种方法来阻止选择任一占位符时发生 onClick 事件,但无法使其正常工作。这是我到目前为止所拥有的: 我尝试了各种方法来阻止选择任一占位符时发生 onClick 事件,但无法使其正常工作。这是我到目前为止所拥有的: <div class="choosesign"> <div class="zodiacs"> <select id="zodiac-me" class="zodiac-me" name="zodiac1"> <option value="none">Your Sign</option> <option value="1">Aries</option> <option value="2">Aquarius</option> <option value="3">Cancer</option> <option value="4">Capricorn</option> <option value="5">Gemini</option> <option value="6">Leo</option> <option value="7">Libra</option> <option value="8">Pisces</option> <option value="9">Sagittarius</option> <option value="10">Scorpio</option> <option value="11">Taurus</option> <option value="12">Virgo</option> </select> </div> <div class="zodiacs"> <select id="zodiac-them" class="zodiac-them" name="zodiac2"> <option value="none">Their Sign</option> <option value="1">Aries</option> <option value="2">Aquarius</option> <option value="3">Cancer</option> <option value="4">Capricorn</option> <option value="5">Gemini</option> <option value="6">Leo</option> <option value="7">Libra</option> <option value="8">Pisces</option> <option value="9">Sagittarius</option> <option value="10">Scorpio</option> <option value="11">Taurus</option> <option value="12">Virgo</option> </select> </div> <div class="zodiacs" id="gobutton"> <a id="zodiacchoice" href="#" onclick='GotoLink()'> <h1> GO</h1> </a> </div> </div> <script>function GotoLink(){ var sel = $('.zodiac-me option:selected').text(); var sel2 = $('.zodiac-them option:selected').text(); if (sel=='Your Sign') { document.getElementById("zodiacchoice").disabled = true; } else { document.getElementById("zodiacchoice").href = '/' + sel + '/' + sel + '-vs-' + sel2; } }</script> 我尝试使用 if 语句进行澄清,但 onClick 并未禁用。该链接仍然可以正常工作。 您可以使用 .val() 来获取所选值。 value中的属性<option>是字符串,使用sel === 'none'。 使用 javascript:void(0) 禁用 <a> function GotoLink() { var sel = $('#zodiac-me').val(); var sel2 = $('#zodiac-them').val(); if (sel === 'none' || sel2 === 'none') { document.getElementById("zodiacchoice").href = 'javascript:void(0)'; } else { document.getElementById("zodiacchoice").href = '/' + sel + '/' + sel + '-vs-' + sel2; } } <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script> <div class="choosesign"> <div class="zodiacs"> <select id="zodiac-me" class="zodiac-me" name="zodiac1"> <option value="none">Your Sign</option> <option value="Aries">Aries</option> <option value="Aquarius">Aquarius</option> <option value="Cancer">Cancer</option> <option value="Capricorn">Capricorn</option> <option value="Gemini">Gemini</option> <option value="Leo">Leo</option> <option value="Libra">Libra</option> <option value="Pisces">Pisces</option> <option value="Sagittarius">Sagittarius</option> <option value="Scorpio">Scorpio</option> <option value="Taurus">Taurus</option> <option value="Virgo">Virgo</option> </select> </div> <div class="zodiacs"> <select id="zodiac-them" class="zodiac-them" name="zodiac2"> <option value="none">Their Sign</option> <option value="Aries">Aries</option> <option value="Aquarius">Aquarius</option> <option value="Cancer">Cancer</option> <option value="Capricorn">Capricorn</option> <option value="Gemini">Gemini</option> <option value="Leo">Leo</option> <option value="Libra">Libra</option> <option value="Pisces">Pisces</option> <option value="Sagittarius">Sagittarius</option> <option value="Scorpio">Scorpio</option> <option value="Taurus">Taurus</option> <option value="Virgo">Virgo</option> </select> </div> <div class="zodiacs" id="gobutton"> <a id="zodiacchoice" href="#" onclick='GotoLink()'> <h1>GO</h1> </a> </div> </div>

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.