onclick 相关问题

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

按照 ASP.NET 教程,我无法在 Blazor 中创建 @onclick 事件

我正在 YouTube 上关注 ASP.NET 教程,但在创建 onclick 事件时遇到问题。我正在使用 blazor,以下代码是一个 razor 文件。我正在使用 .NET 8.0 预览版。 鳕鱼的图像...

回答 3 投票 0

如何在 Blazor 中通过 onclick 传递事件参数以获取 ID

我正在尝试在 Blazor 应用程序中创建突出显示的选项卡系统。就像您如何拥有突出显示的活动导航组件一样。 因此,当单击按钮时,背景会改变颜色......

回答 1 投票 0

单击我的按钮时出现问题。单击事件仅适用于双击

我在点击事件方面遇到一些问题。我是 JavaScript 新手。当我单击一次时,没有任何反应,但是双击我的事件正在运行。 我尝试从 stackoverflow 中找出类似的请求,...

回答 1 投票 0

在 svelte 代码中添加点击功能时出现问题。我正在尝试在前端实现特定文本的注释

我目前正在致力于在 Svelte 框架中实现注释。您可以在下面的代码中看到我正在使用的数据结构。可视化工作完美,继续...

回答 1 投票 0

如何在VBA中引用用户窗体点击事件

我有一个名为“dataBox”的用户窗体,当用户单击命令按钮时会显示该窗体。然后,用户输入数据并按下用户表单上的“确定”命令按钮来提交数据。 我是什么

回答 1 投票 0

无法设置未定义的属性(设置'onclick')

尽管我正在传递节点元素,但出现 onclick 应用于未定义的错误。 html 虽然我正在传递节点元素,但收到 onclick 应用于未定义的错误。 html <div class="gallery"> <img src="image1.png" id="prdImg" /> <div class="control"> <span class="btn active"></span> <span class="btn"></span> <span class="btn"></span> </div> </div> JS const prdImg = document.getElementById("prdImg"); const btn = document.getElementsByClassName("btn"); for (let i = 0; i <= btn.length; i++) { btn[i].onclick = function () { prdImg.src = `image${i + 1}.png`; for (bt of btn) { bt.classList.remove("active"); } this.classList.add("active"); }; } 在 for 循环中,将 i <= btn.length 更改为 i < btn.length。 const prdImg = document.getElementById("prdImg"); const btn = document.getElementsByClassName("btn"); for (let i = 0; i < btn.length; i++) { btn[i].onclick = function () { prdImg.src = `image${i + 1}.png`; for (bt of btn) { bt.classList.remove("active"); } this.classList.add("active"); }; }

回答 1 投票 0

如何在本地存储中实际存储 onclick 函数,这样它就不会全部刷新回默认值

我想更改现有产品价格的货币(以 JOD 为单位)(1 JOD = 1.41$ ) 我在 Js 中使用 ConvertToUSD() 函数做到了这一点,但是,每当我引用时,我都无法保存更改...

回答 1 投票 0

数据切换和 onclick 不能一起工作,我太新了,无法应用 @epascarello 的解决方案

我有一个有点像这样的问题: jQuery onclick 不适用于具有数据切换和数据目标的按钮 但我无法将 @epascarello 的解决方案应用于我的问题 我是我们...

回答 2 投票 0

反应如何一次向多个元素添加事件监听器

为了演示我的问题,我将比较普通的 JavaScript 和 React。在javascript中,当我有 1 为了演示我的问题,我将比较普通的 javascript 和 React。在 javascript 中,当我有 <div> <button class="btn">1</button> <button class="btn">2</button> <button class="btn">3</button> <button class="btn">4</button> <button class="btn">5</button> </div> 我想为所有按钮添加一些功能,我可以做到 const buttons = document.querySelectorAll(".btn"); buttons.forEach(btn=>{ btn.addEventListener("click",(e)=>{ //some code here }) }) 在反应中,我怎样才能做同样的事情,而不是向每个按钮添加“onClick”?因为想象一下如果有 20 个这样的按钮: <button className="btn" onClick={()=>{ //some code here }}>button</button> 我仍然可以像 JavaScript 那样使用 querySelector,但我听说这在 React 中是一个不好的做法。所以我想知道是否有其他方法可以使代码更干净。 React 非常适合此目的,因为它允许您重用组件!您可以创建一个包含单击处理程序的组件,然后在整个应用程序中重复使用它。 const MyReusableButton = () => { const myClickHandler = () => { console.log("Clicked!"); } return <button onClick = {myClickHandler}>Click Me</button>; } const App = () => { // now I can reuse my button component as many times as I want! return ( <div> <MyReusableButton /> <MyReusableButton /> <MyReusableButton /> <MyReusableButton /> </div> ); } ReactDOM.render(<App />, document.getElementById('root')); <script src="https://cdnjs.cloudflare.com/ajax/libs/react/17.0.1/umd/react.production.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/17.0.1/umd/react-dom.production.min.js"></script> <div id="root"></div> 您可以使用事件委托将一个侦听器附加到容器,以在事件从每个子元素/组件“冒泡”到 DOM 时监视事件,而不是为每个按钮附加一个侦听器。 function Example() { function handleClick(e) { const { nodeName, textContent } = e.target; if (nodeName === 'BUTTON') { console.log(textContent); } } return ( <div onClick={handleClick}> <button>Click me 1</button> <button>Click me 2</button> <button>Click me 3</button> <button>Click me 4</button> </div> ); }; ReactDOM.render( <Example />, document.getElementById('react') ); <script src="https://cdnjs.cloudflare.com/ajax/libs/react/17.0.2/umd/react.production.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/17.0.2/umd/react-dom.production.min.js"></script> <div id="react"></div> 制作一个列表来描述按钮的独特之处。将列表映射到您的按钮中。 const nums = [0,1,2,3,4,5] return <div> {nums.map(num => <button onClick={() => console.info("clicked" + num)}> This is button {num} </button> )} </div> 这种情况的最佳方法是事件委托,我们必须将事件侦听器附加到父元素并处理子元素上的事件。 function clickMe(e) { const btn = e.target.closest(".btn"); if (!btn) return; // more code here } // the JSX code : <div className="test" onClick={clickMe}> <button class="btn">1</button> <button class="btn">2</button> <button class="btn">3</button> <button class="btn">4</button> <button class="btn">5</button> </div>; 使用循环创建 JSX 对象数组并渲染它们。这是我之前从事的项目中的一个示例。 let grid = [] maze.forEach((row, i) => { let renderedRow = [] row.forEach((block, j) => { renderedRow.push(<Block key={size.width * i + j} inheritedType={block} dimensions={defaultDimensions * scale} onAction={() => { setBlock(i, j) setMazeFuture([]) }} onDoubleClick={() => updateMaze(i, j, "empty")} isDown = {isDown} setIsDown={setIsDown} appendToHistory={appendCurrentMazeToHistory} />) }) grid.push(<Row key={i} columns={renderedRow} rowHeight={defaultDimensions * scale}/>) }) return ( {grid} )

回答 5 投票 0

EasyAdmin3:可点击的表格行(链接到编辑页面)

我不喜欢索引页面(EasyAdmin 3 / symfony 5)上每个实体末尾的“编辑”按钮,我希望表行可单击,它将直接将我发送到的...

回答 6 投票 0

尝试单击 gridview 行时发生 JavaScript 错误

我在服务器端(VB.net)的 devexpress gridview 的行中添加了一个单击事件。 受保护的子 gvSubNotes_HtmlRowPrepared(发送者作为对象,e 作为 ASPxGridViewTableRowEventArgs) e.行。

回答 1 投票 0

通过onclick调用方法

我已经尝试了很多,非常感谢任何帮助。 我使用 pytransitions 构建了一个状态机仪表板,并使用 pywebio 构建了一个仪表板。现在我尝试有两个按钮: def btn_click(btn_val): ...

回答 1 投票 0

是什么导致我的 javascript 函数无法运行?

我正在尝试用html和js制作一个简单的装扮游戏,但我不知道为什么该功能不起作用。正在记录窗口 onload 事件,但 MakeupClass1 函数没有执行任何操作...

回答 1 投票 0

按钮 OnClick - 如何添加功能?

我接到了一项开发小代码的任务,我需要在其中制作一个可调整的有序列表。它需要有一个占位符,将在其中键入和添加列表项,a on cl...

回答 0 投票 0

从pick事件中获取子图

我有一个带有四个子图的图形,其中两个子图通过执行 canvas.mpl_connect('pick_event', onpick) 绑定在 pick 事件上,其中 onpick 是 onpick(event) 处理程序。 现在,基于两者中的哪一个

回答 1 投票 0

python selenium 单击按钮

我对 python selenium 很陌生,我正在尝试单击一个具有以下 html 结构的按钮: 我对 python selenium 很陌生,我正在尝试单击一个具有以下 html 结构的按钮: <div class="b_div"> <div class="button c_button s_button" onclick="submitForm('mTF')"> <input class="very_small" type="button"></input> <div class="s_image"></div> <span> Search </span> </div> <div class="button c_button s_button" onclick="submitForm('rMTF')" style="margin-bottom: 30px;"> <input class="v_small" type="button"></input> <span> Reset </span> </div> </div> 我希望能够单击上面的 Search 和 Reset 按钮(显然是单独的)。 我尝试了一些方法,例如: driver.find_element_by_css_selector('.button .c_button .s_button').click() 或者, driver.find_element_by_name('s_image').click() 或者, driver.find_element_by_class_name('s_image').click() 但是,我似乎总是以NoSuchElementException结束,例如: selenium.common.exceptions.NoSuchElementException: Message: u'Unable to locate element: {"method":"name","selector":"s_image"}' ; 我想知道是否可以使用 HTML 的 onclick 属性来进行 Selenium 单击? 任何能够为我指明正确方向的想法都会很棒。 谢谢。 删除 css 选择器中类之间的空格: driver.find_element_by_css_selector('.button .c_button .s_button').click() # ^ ^ => driver.find_element_by_css_selector('.button.c_button.s_button').click() 试试这个: 下载firefox,添加插件“firebug”和“firepath”;安装它们后,转到您的网页,启动 firebug 并找到元素的 xpath,它在页面中是唯一的,因此您不会犯任何错误。 看图: browser.find_element_by_xpath('just copy and paste the Xpath').click() 对于Python,使用 from selenium.webdriver import ActionChains 和 ActionChains(browser).click(element).perform() 打开一个网站 https://adviserinfo.sec.gov/compilation 并单击按钮下载文件,即使我想关闭弹出窗口(如果它使用 python selenium) from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC import time from selenium.webdriver.chrome.options import Options #For Mac - If you use windows change the chromedriver location chrome_path = '/usr/local/bin/chromedriver' driver = webdriver.Chrome(chrome_path) chrome_options = webdriver.ChromeOptions() chrome_options.add_argument("--disable-popup-blocking") driver.maximize_window() driver.get("https://adviserinfo.sec.gov/compilation") # driver.get("https://adviserinfo.sec.gov/") # tabName = driver.find_element_by_link_text("Investment Adviser Data") # tabName.click() time.sleep(3) # report1 = driver.find_element_by_xpath("//div[@class='compilation-container ng-scope layout-column flex']//div[1]//div[1]//div[1]//div[2]//button[1]") report1 = driver.find_element_by_xpath("//button[@analytics-label='IAPD - SEC Investment Adviser Report (GZIP)']") # print(report1) report1.click() time.sleep(5) driver.close() 我在使用Phantomjs作为浏览器时遇到了同样的问题,所以我通过以下方式解决了: driver.find_element_by_css_selector('div.button.c_button.s_button').click() 基本上我已将 DIV 标签的名称添加到引用中。 以下调试过程帮助我解决了类似的问题。 with open("output_init.txt", "w") as text_file: text_file.write(driver.page_source.encode('ascii','ignore')) xpath1 = "the xpath of the link you want to click on" destination_page_link = driver.find_element_by_xpath(xpath1) destination_page_link.click() with open("output_dest.txt", "w") as text_file: text_file.write(driver.page_source.encode('ascii','ignore')) 然后,您应该有两个文本文件,其中包含您所在的初始页面(“output_init.txt”)和单击按钮后转发到的页面(“output_dest.txt”)。如果它们相同,那么是的,您的代码不起作用。如果不是,那么您的代码可以工作,但您还有另一个问题。 对我来说,问题似乎是转换内容以生成我的钩子所需的 JavaScript 尚未执行。 我认为你的选择: 让驱动程序执行 javascript,然后调用您的 find 元素代码。查找有关此问题的更详细答案 stackoverflow,因为我没有遵循这种方法。 只需在“output_dest.txt”上找到一个类似的钩子即可产生相同的结果,这就是我所做的。 在点击任何内容之前尝试稍等一下: xpath2 =“你要点击的xpath” WebDriverWait(驱动程序,超时=5).until(lambda x: x.find_element_by_xpath(xpath2)) xpath 方法不一定更好,我只是更喜欢它,您也可以使用选择器方法。 我遇到了同样的问题,并且使用 Firefox,我通过以下步骤获得了按钮元素: 右键单击感兴趣的按钮并选择“检查辅助功能属性” 这将打开检查器。右键单击突出显示的行,然后单击“打印到 JSON” 这将打开一个新选项卡。查找 nodeCssSelector 并复制值 这允许我通过使用接受雅虎网站的cookie。 url = "https://yahoo.com" driver = Firefox(executable_path="geckodriver.exe") driver.get(url) driver.find_element_by_css_selector("button.btn:nth-child(5)").click() 我对此进行了进一步测试,它使我能够轻松接受单独的 cookie。只需重复之前提到的步骤即可获取按钮名称。 url = "https://yahoo.com" driver = Firefox(executable_path="geckodriver.exe") driver.get(url) driver.find_element_by_css_selector("a.btn").click() driver.find_element_by_css_selector(".firstPartyAds > div:nth-child(2) > label:nth-child(1)").click() driver.find_element_by_css_selector(".preciseGeolocation > div:nth-child(2) > label:nth-child(1)").click() driver.find_element_by_css_selector("button.btn").click() 另一种方法是 右键单击感兴趣的按钮并选择“检查” 右键单击突出显示的行,然后单击“复制 -> CSS 选择器”或任何您需要的内容(有多个选项,包括 XPath) 但是,我认为第二种方法可能包含空格,具体取决于您复制的内容,因此您可能需要手动删除(其中一些)它们。第一种方法似乎更万无一失,但我不知道它是否/如何在火狐以外的其他浏览器上工作。第二种方法应该适用于所有浏览器。 e = driver.find_element(By.XPATH, 's_image').click() 有时它不起作用! 你可以尝试: e = driver.find_element(By.XPATH, 's_image') driver.execute_script("arguments[0].click();", e) 使用此代码点击按钮 # finding the button using ID button = driver.find_element_by_id(ID) # clicking on the button button.click() 对于Python,你可以做类似的事情 from selenium.webdriver.common.keys import Keys driver = webdriver.Firefox() button = driver.find_element(By.ID, "my_button") element.send_keys(Keys.RETURN) 这样做的原因是,当您使用 webdriver.find_element 时,给定的元素将被聚焦,并且当按钮被聚焦时,按“Enter”键将触发该按钮上的单击事件。

回答 10 投票 0

如何通过Element ID切换图片(Javascript)?

我正在学习Javascript,不明白为什么当我引用图片的ID时,以下内容不会切换出来。 URL 工作正常,但为了简单和清晰起见,我更喜欢使用 ID

回答 2 投票 0

计算器android应用程序开发中的方形按钮(x^2)异常处理错误

我目前正在尝试使用Java在android studio中开发一个计算器android应用程序。该应用程序工作正常,直到我单击平方操作按钮,即应用程序中的 x^2 按钮,当没有...

回答 1 投票 0

playerSelection() 没有返回,但它传递了一个字符串值? 【石头剪刀布游戏】

你好,我目前正在重新审视 html/css/javascript 中的剪刀石头布游戏。现在我正在尝试制作一个相应的网站,您可以在其中单击按钮,它会将您的玩家选择记录在...

回答 1 投票 0

如何使用 Javascript 创建多个视频弹出窗口?

我创建了这个,有两个视频链接会弹出相同的视频。如何添加第二个视频,以便当我单击底部链接时会弹出第二个视频?我想我需要添加一个

回答 1 投票 0

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