用户单击对象时发生的事件。它是两个事件的组合,即“onmousedown”和“onmouseup”。
按照 ASP.NET 教程,我无法在 Blazor 中创建 @onclick 事件
我正在 YouTube 上关注 ASP.NET 教程,但在创建 onclick 事件时遇到问题。我正在使用 blazor,以下代码是一个 razor 文件。我正在使用 .NET 8.0 预览版。 鳕鱼的图像...
如何在 Blazor 中通过 onclick 传递事件参数以获取 ID
我正在尝试在 Blazor 应用程序中创建突出显示的选项卡系统。就像您如何拥有突出显示的活动导航组件一样。 因此,当单击按钮时,背景会改变颜色......
我在点击事件方面遇到一些问题。我是 JavaScript 新手。当我单击一次时,没有任何反应,但是双击我的事件正在运行。 我尝试从 stackoverflow 中找出类似的请求,...
在 svelte 代码中添加点击功能时出现问题。我正在尝试在前端实现特定文本的注释
我目前正在致力于在 Svelte 框架中实现注释。您可以在下面的代码中看到我正在使用的数据结构。可视化工作完美,继续...
我有一个名为“dataBox”的用户窗体,当用户单击命令按钮时会显示该窗体。然后,用户输入数据并按下用户表单上的“确定”命令按钮来提交数据。 我是什么
尽管我正在传递节点元素,但出现 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"); }; }
如何在本地存储中实际存储 onclick 函数,这样它就不会全部刷新回默认值
我想更改现有产品价格的货币(以 JOD 为单位)(1 JOD = 1.41$ ) 我在 Js 中使用 ConvertToUSD() 函数做到了这一点,但是,每当我引用时,我都无法保存更改...
数据切换和 onclick 不能一起工作,我太新了,无法应用 @epascarello 的解决方案
我有一个有点像这样的问题: jQuery onclick 不适用于具有数据切换和数据目标的按钮 但我无法将 @epascarello 的解决方案应用于我的问题 我是我们...
为了演示我的问题,我将比较普通的 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} )
我不喜欢索引页面(EasyAdmin 3 / symfony 5)上每个实体末尾的“编辑”按钮,我希望表行可单击,它将直接将我发送到的...
尝试单击 gridview 行时发生 JavaScript 错误
我在服务器端(VB.net)的 devexpress gridview 的行中添加了一个单击事件。 受保护的子 gvSubNotes_HtmlRowPrepared(发送者作为对象,e 作为 ASPxGridViewTableRowEventArgs) e.行。
我已经尝试了很多,非常感谢任何帮助。 我使用 pytransitions 构建了一个状态机仪表板,并使用 pywebio 构建了一个仪表板。现在我尝试有两个按钮: def btn_click(btn_val): ...
我正在尝试用html和js制作一个简单的装扮游戏,但我不知道为什么该功能不起作用。正在记录窗口 onload 事件,但 MakeupClass1 函数没有执行任何操作...
我接到了一项开发小代码的任务,我需要在其中制作一个可调整的有序列表。它需要有一个占位符,将在其中键入和添加列表项,a on cl...
我有一个带有四个子图的图形,其中两个子图通过执行 canvas.mpl_connect('pick_event', onpick) 绑定在 pick 事件上,其中 onpick 是 onpick(event) 处理程序。 现在,基于两者中的哪一个
我对 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”键将触发该按钮上的单击事件。
如何通过Element ID切换图片(Javascript)?
我正在学习Javascript,不明白为什么当我引用图片的ID时,以下内容不会切换出来。 URL 工作正常,但为了简单和清晰起见,我更喜欢使用 ID
计算器android应用程序开发中的方形按钮(x^2)异常处理错误
我目前正在尝试使用Java在android studio中开发一个计算器android应用程序。该应用程序工作正常,直到我单击平方操作按钮,即应用程序中的 x^2 按钮,当没有...
playerSelection() 没有返回,但它传递了一个字符串值? 【石头剪刀布游戏】
你好,我目前正在重新审视 html/css/javascript 中的剪刀石头布游戏。现在我正在尝试制作一个相应的网站,您可以在其中单击按钮,它会将您的玩家选择记录在...
我创建了这个,有两个视频链接会弹出相同的视频。如何添加第二个视频,以便当我单击底部链接时会弹出第二个视频?我想我需要添加一个