在之前触发更改时未触发 onclick 事件
onclick event not triggered when onchange triggered right before
>我这里有一个有趣的问题。
我有一个文本区域,其中包含链接到它的 onchange 事件。然后我有一个链接到onclick事件的按钮。
当在文本区域上触发 onchange 事件时,将处理放入文本区域的文本。这通常发生在我单击文本区域之外的内容时。
我所做的是以下几点:
- 我在文本区域中输入了文本。
- 键入后,我单击按钮以触发按钮上的onclick事件
- 没有任何反应,但是当我单击按钮时,文本区域上的 onchange 事件被触发,但按钮本身上的 onclick 事件不会被触发。
为什么?我希望同时触发更改和单击。我需要做什么,这样按钮的点击就不会"丢失"。我意识到我必须单击两次,因为第一次单击会导致文本区域发生变化,然后第二次单击触发单击按钮。
下面的代码显示了一个示例,只需尝试下面的代码。输入文本,然后直接单击该按钮。只有"文本区域"弹出窗口会出现。
<textarea onchange="processText();" name="mytext"></textarea>
<button onclick="processButton();">Hello</button>
<script language="Javascript">
function processText()
{
alert( 'textarea');
}
function processButton()
{
alert( 'button');
}
</script>
你需要重新检查你的假设。在您的示例中,alert() 中断了程序流,中断了对 onclick 的处理。这段代码(这里的jsfiddle)表明onchange默认情况下不会干扰onclick:
<textarea onchange="processText();" name="mytext"></textarea>
<button onclick="processButton();">Hello</button>
<div id="clicked"></div>
<div id="changed"></div>
<script language="Javascript">
function processText()
{
document.getElementById('changed').innerHTML = "onchange fired";;
}
function processButton()
{
document.getElementById('clicked').innerHTML = "onclick fired";
}
</script>
我遇到了类似的问题,但是未处理onclick事件的实际原因是由于onchange处理程序,被单击的元素向下滚动。释放鼠标按钮时,元素未收到鼠标向上事件,并且"单击"被中断。
在文本区域上处理 onblur 事件,在按钮上处理 onclick 事件
尝试这样做将事件侦听器添加到组件
document.getElementsByTagName("textarea")[0].addEventListener("change", function(){
alert( 'textarea');
});
document.getElementsByTagName("button")[0].addEventListener("click", function(){
alert( 'button');
});
如果定义了 Id,则使用 getElementById()。
相关文章:
- 如何在执行此特定onclick事件时执行JavaScript函数
- 如何调用“;链接_;在onclick事件上使用Javascript
- 如何使用jquery迭代具有相同属性的html元素并查找onclick事件
- 选择onclick事件jquery
- 执行php函数的onclick事件的其他替代方案
- 动态创建OnClick事件Javascript
- onClick事件未触发reactjs
- 使用java脚本更改onClick事件中菜单选项卡的颜色
- 如何使用OnClick事件通过参数调用来调用PHP函数
- 使用jQuery动态添加onClick事件
- onclick事件不'不要在萤火虫或铬中点火
- 如何向onClick事件处理程序传递一个接受参数的函数,并且仍然将该函数绑定到组件's”;这个“;上下文
- xPages标签onclick事件不'不要在空白处工作
- 用beautifulsoup-python调用onclick事件
- 使用JavaScript将onclick事件与参数绑定
- 使用onClick事件扩展Aviarc容器小部件
- 在按钮的onclick事件上将字符串传递给JavaScriptFuntion
- 用于显示onclick事件计数的可调整跨度标记
- Javascript onclick事件在第一次单击时未启动
- 如何使用onclick事件触发此代码.我尝试过,但失败了