标签: onclick

为什么这个 javascript 警报会触发两次?

<script type="text/javascript">
function ChangeStyle()
{
    document.getElementById("p1").innerHTML = 
        "<a href='javascript:void()' onclick=\"window.location.href='http://google.com'\">The New Link</a>";
}
</script>
<a id="p1" href="javascript:void()" onclick="ChangeStyle();alert('hello');">The Link</a>
Run Code Online (Sandbox Code Playgroud)

这是完整的代码。由于某种原因,警报会触发两次。我想不通。

html javascript alert onclick innerhtml

0
推荐指数
1
解决办法
2150
查看次数

Uncaught ReferenceError: 使用字符串时未定义 onclick

我正在尝试使用以前存储的值将变量传递给 onClick 函数。我有一个数据库设置,可以在提供邮政编码时搜索商店位置。例如,在用户搜索邮政编码后,使用 ajax 调用生成以下链接。返回值“WAFHOH3”是与该特定商店关联的 ID:

生成的链接:

<input type="button" onclick="myfunction(WAFHOH1);" value="This Is My Store" data-store-code="WAFHOH3">
Run Code Online (Sandbox Code Playgroud)

基于此代码:

<div class="col-sm-3"><input type="button" onclick="myfunction(' + item.store_code + ');" value="This Is My Store" data-store-code="' + item.store_code + '"></div>
Run Code Online (Sandbox Code Playgroud)

我的问题是,如果返回数字以外的任何内容,我会收到“未捕获的引用错误:WAFHOH3 未定义”控制台错误。当像下面的示例一样传递一个数字时,一切正常,我没有收到任何错误,并且应用程序继续按预期工作。

例如(这有效):

我尝试手动将字符串更改为数字,只是为了隔离任何与数据库相关的问题。我唯一的猜测是我的代码中有些东西可能试图将输入验证为数字。

ajax 调用的完整代码如下。

完整代码:

function myFunction() {
var searchValue = $('#foobar').val();

if (searchValue.length > 3) {
  var acs_action = 'searchCction';

  $.ajax({
    async: false,
    url: mysearchurl.url+'?action='+acs_action+'&term=' + searchValue,
    type: 'POST',
    data: {
      name: searchValue
    },
    success: function (results) {
      var data = $.parseJSON(results); 

      $('#resContainer').hide();

      var …
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery onclick

0
推荐指数
1
解决办法
1万
查看次数

如何在单击按钮时更改 div 背景颜色?

我可以更改背景颜色红色、蓝色和绿色,但是当我单击“重置”按钮时,我在 Chrome(浏览器)中收到错误消息:

btnReset 不是一个函数,

单击“重置”按钮时如何使所有 div 为空白?

function btnRed() {
  document.getElementById("Div1").style.backgroundColor="Red";
}
function btnGreen() {
  document.getElementById("Div2").style.backgroundColor="Green";
}
function btnBlue() {
  document.getElementById("Div3").style.backgroundColor="Blue";
}
function btnReset() {
  document.getElementById("Div1").style.backgroundColor="Black";
  document.getElementById("Div2").style.backgroundColor="white";
  document.getElementById("Div3").style.backgroundColor="white";
}
Run Code Online (Sandbox Code Playgroud)
#Div1
{ 
  z-index: -2;
  border: 1px solid black;
  height: 300px;
  width: 400px;
}
#Div2
{
  z-index: -1;
  border: 1px solid black;
  width: 300px;
  height: 200px;
  margin: 50px 0 0 50px;
}
#Div3
{
  border: 1px solid black;
  width: 200px;
  height: 150px;
  margin: 23px 0 0 47px;
}

#DivBtn
{
  margin-top: 30px; …
Run Code Online (Sandbox Code Playgroud)

html javascript onclick

0
推荐指数
1
解决办法
1万
查看次数

wxPython:检测鼠标点击位图

我正在尝试使用 wxpython 检测位图上的 CLI。on_click 过程似乎在没有 CLIC 的情况下运行,并且在单击时不运行。我做错了什么?

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#

import os
import wx
import wx.lib.agw.thumbnailctrl as TC
import Image

filename="Raphael-Poli-angle.png"
class MyForm(wx.Frame):
    def on_clic(self):
       print "clicked"

    def __init__(self):
        wx.Frame.__init__(self, None, wx.ID_ANY, "Choose Dot in Picture", size=(700,500))
        self.panel = wx.Panel(self, wx.ID_ANY)
        png = wx.Image(filename, wx.BITMAP_TYPE_ANY).ConvertToBitmap()
        image=wx.StaticBitmap(self.panel, -1, png, (1, 1), (png.GetWidth(), png.GetHeight()))
        image.Bind(wx.EVT_LEFT_DOWN, self.on_clic())
        self.Show(True)

if __name__ == "__main__":
    app = wx.App(False)
    frame = MyForm()
    app.SetTopWindow(frame)
    frame.Show()
    app.MainLoop()
Run Code Online (Sandbox Code Playgroud)

wxpython click onclick

0
推荐指数
1
解决办法
1789
查看次数

单击一个元素会更改另一个元素的状态

我试图单击一个排序图标,该图标将触发更改列表的顺序。

为了使其更简单,假设您有一个按钮和另一个按钮,并且它们位于彼此不同的 div 上。

<div>
    //Button 1
    <button onclick={"some_click_handler"}>
</div>

<div>
    //Button 2
    <button>
        {this.state.someToggle ? true : false}
    </button>
</div>
Run Code Online (Sandbox Code Playgroud)

onclick event-handling setstate reactjs

0
推荐指数
1
解决办法
3145
查看次数

Delphi 如何在包括其他组件的窗体上的任何位置检测单击事件

我有一个TEditDelphi VCL 表单应用程序(包含在一个TFrame实例中,如果重要的话)。在用户指示他们完成编辑后,通过单击表单上的其他地方,插入符号和焦点将保留在此控件上,直到我单击另一个控件,然后该控件获得焦点。但是,TEdit无论用户单击何处,我都希望失去焦点。我希望我可以使用ActiveControl := nil结束对所选控件的关注,但我不确定在哪里调用它。

我想要的是焦点离开所选控件而不必将其转移到另一个控件。我可以在表单的OnClick事件中结束焦点,但是如果用户在我的表单上选择任何其他控件(也包含在框架中),这将不起作用,因为表单的OnClick事件没有被触发。OnClick为表单上的每个附加项目提供单独的事件似乎既不优雅又乏味。

实现这种行为的全局解决方案是什么?

forms delphi components frames onclick

0
推荐指数
1
解决办法
822
查看次数

Div 上的 Onclick 不适用于 Angular - 9

这是我的 HTML

<mat-grid-list cols="3" rowHeight="150px">
 <mat-grid-tile
    *ngFor="let tile of tiles;index as j;"
     [colspan]="tile.cols"
     [rowspan]="tile.rows"
     >
   <div (onclick)="openbox();" style="z-index: 2">
                                       
          {{tile.text}}<br>
          <img src="https://images.unsplash.com/photo-1514888286974-6c03e2ca1dba?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1027&q=80" height="200px" width="260px">
   </div>
    </mat-grid-tile>
</mat-grid-list>
Run Code Online (Sandbox Code Playgroud)

Ts

export class RegistrationComponent implements OnInit {
...
 openbox(){
    console.log('clicked')
  }
...
}
Run Code Online (Sandbox Code Playgroud)

我尝试过的事情:

style="z-index: 2; position: relative;"
隐身

浏览器 Chrome Angular-9
我的目标是获取点击的 mat-grid-tile 的索引有没有其他方法可以做到这一点?
谢谢

css onclick angular-material angular

0
推荐指数
1
解决办法
100
查看次数

React 如何一次向多个元素添加事件侦听器

为了演示我的问题,我将比较普通的 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>
Run Code Online (Sandbox Code Playgroud)

我想为所有按钮添加一些功能,我可以这样做

const buttons = document.querySelectorAll(".btn");
buttons.forEach(btn=>{
   btn.addEventListener("click",(e)=>{
       //some code here
   })
})
Run Code Online (Sandbox Code Playgroud)

在反应中,我怎样才能做同样的事情,而不是向每个按钮添加“onClick”?因为想象一下如果有 20 个这样的按钮:

<button className="btn" onClick={()=>{
   //some code here
}}>button</button>
Run Code Online (Sandbox Code Playgroud)

我仍然可以像 javascript 那样使用 querySelector,但我听说这在 React 中是一个不好的做法。所以我想知道是否有其他方法可以使代码更清晰。

javascript onclick addeventlistener reactjs

0
推荐指数
1
解决办法
6110
查看次数

如何让 vue.js 中的 onclick 事件只工作一次

这是仅调用一次 onclick 事件的正常 javascript 代码:

<button onclick="myFunction(); this.onclick=null;">This button works only once</button>
<button onclick="myFunction()">This button works always</button>
<script>
    function myFunction() {
        console.log("hello");
    }
</script>
</body>
Run Code Online (Sandbox Code Playgroud)

普通 javascript 的技巧是这样的:

<button onclick="myFunction(); this.onclick=null;">
Run Code Online (Sandbox Code Playgroud)

但是,现在我想在 vue.js 中使用此功能,并且 vue.js 中的按钮如下所示:

 <input
     type="submit"
     value="Start"
     name="start_button"
     @click="start"
 />
Run Code Online (Sandbox Code Playgroud)

谁能建议我如何在 vuejs 中调用一次事件......

javascript jquery onclick vue.js vuejs3

0
推荐指数
1
解决办法
4429
查看次数

将"onclick"应用于iFrame中的所有元素

如何使用JavaScript DOM将onclick事件应用于内部的链接iframe

这是我正在尝试的不起作用:

document.getElementById('myIframe').contentDocument.getElementsByTagName('a').onclick = function();
Run Code Online (Sandbox Code Playgroud)

似乎没有错误抛出,我完全控制了这些东西iframe.

这是一些测试代码,看看我是否至少可以计算div我的数量iframe.

// access body
var docBody = document.getElementsByTagName("body")[0];

// create and load iframe element
var embed_results = document.createElement('iframe');
embed_results.id = "myIframe";
embed_results.setAttribute("src", "http://www.mysite.com/syndication/php/embed.php");

// append to body
docBody.appendChild(embed_results);

// count the divs in iframe and alert   
alert(document.getElementById("myIframe").contentDocument.getElementsByTagName('div').length);
Run Code Online (Sandbox Code Playgroud)

iframe onclick

-1
推荐指数
1
解决办法
8127
查看次数