- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
RawClicked
我有旧的 tr 事件分配方法,如下所示:
<tr ondblclick="RawClicked(this) .......
我想像这样在 JavaScript 代码中附加事件,并删除在 HTML 标记 <tr .... >
中分配事件处理程序:
var element = document.getElementById("CustomersTable").getElementsByTagName("tr");
AssigningEventHandles(element, "dblclick", RawClicked(this));
function AssigningEventHandles(element, event, handler) {
if (element.addEventListener) {
element.addEventListener(event, handler, false);
}
else if (element.attachEvent) {
element.attachEvent("on"+ event, handler);
}
}
function RawClicked(raw) {
var rawDoubleClicked = raw.id;
alert(rawDoubleClicked);
}
那么如何传递参数this
在这种情况下的函数?
最佳答案
在您的示例中 element
是节点的集合,而不是单个元素,因此您不能以这种方式添加事件监听器。您可以迭代此节点集合或使用事件委托(delegate)并将事件监听器附加到 <table>
.
在这一行AssigningEventHandles(element, "dblclick", RawClicked(this));
RawClicked 的执行方式为 this
绑定(bind)到全局对象。所以参数传递为 handler
至AssigningEventHandles
是这个函数的结果,它是无效的。您应该传递这样的函数:AssigningEventHandles(element, "dblclick", RawClicked);
然后使用 this.id
而不是raw.id
在RawClicked
.
固定代码:
var element = document.getElementById("CustomersTable").getElementsByTagName('tr');
AssigningEventHandles(element, "dblclick", RawClicked);
function AssigningEventHandles(element, event, handler) {
if( !element.length ){ /* convert to array if it's a single node */
element = [element];
}
for( var i=0; i<element.length; i++){ /* iterate over nodes and attach event listeners */
if (element[i].addEventListener) {
element[i].addEventListener(event, handler, false);
}
else if (element[i].attachEvent) {
element[i].attachEvent("on"+ event, handler);
}
}
}
function RawClicked() {
/* `this` is bound to the clicked element */
var rawDoubleClicked = this.id;
alert(this);
}
关于javascript - 如何附加事件 "ondblclick",其直接分配的处理程序将 "this"作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14387171/
我有一张 table 。我希望它的每个“td”在双击时调用一个事件。所以, var cell = document.getElementsByTagName('td'); cell.ondblclic
我试图在双击时清除一个文本输入框(并且仅单个文本输入)。 这是 HTML Green: 和 JavaScript function Clear() { this
我有一个表格,我想在双击某列时隐藏该列。 隐藏列的代码几乎都在 Stack Overflow 周围。我只需要提示如何/在何处添加 ondblclick事件,以便我可以检索 的身份在 内. 最佳答案
我正在使用 Material-UI (v1.2.3) 和 Typescript。 我正在尝试处理表格行的双击,如下所示:
我正在使用 Material-UI (v1.2.3) 和 Typescript。 我正在尝试处理表格行的双击,如下所示:
我想这样做:当你点击页面上的链接时,它会正常打开链接,但当你双击链接时,它会警告链接的'href'属性。 但是,当我尝试双击一个链接时,它总是会打开该链接。有什么想法吗? 最佳答案 链接在第一次单击或
当用户双击文本时,我试图重定向用户。我试过这个: Transalinord 但是双击事件似乎没有被触发。如果我使用 onClick,一切都工作正常,这让我发疯。我在 Mac 上使用 Chrome。有什
我有以下 html 代码,它似乎没有触发函数toggle()。 B javascript函数如下,可以执行at fiddle . function toggle()
我想像这样在特定的 div 上实现双击事件: 它可以在 google chrome 浏览器上运行,但是当我用手机打开它时它不起作用,顺便说一句,单击一下就可以了。 ps: 我加了这两件事 还有这个
我正在通过 javascript 创建动态文本区域,并且可以设置类等属性,但我想向动态创建的文本区域添加“OnDblClick”属性,但我似乎无法使标记工作。 非常感谢任何帮助 这是代码 functi
我的页面上有一个元素,我需要将 onclick 和 ondblclick 事件处理程序附加到该元素。当单击发生时,它应该执行与双击不同的操作。当我第一次开始尝试完成这项工作时,我的头开始旋转。显然,o
所以在我的 html 中我有这部分: dasd dasda 在 javascript 中,函数是: function myfunc() { do stuff here... } 我想知道在
我的 jqgrid header 中有一个 mastercheckbox 当我只放置 onclick 或 ondblclick 时,会调用相应的方法。但是当我同时拥有 onclick 和 ondbl
我的tinyMCE文本区域编辑器中的一些单词位于带有名为“myclass”的特定类的span标签中。例如,tinyMCE 文本区域编辑器中可见的单词 Hello 位于源代码中,其 HTML 代码如下:
有谁知道一种解决方案,让按钮只对一个按钮的 2 个点击事件使用react: @在我的尝试中,如果我双击按钮,它只会提醒“一个”;为什么不能在同一个按钮中使用 ondblclick 和 onclick
我正在使用 javascript 和可编辑的 iframe 开发一个所见即所得 HTML 编辑器。在开发编辑器之前,我对使用 javascript 和 iframe 的其他 HTML 编辑器(包括 C
RawClicked我有旧的 tr 事件分配方法,如下所示: 中分配事件处理程序: var element = document.getElementById("CustomersTable").g
所以,我已经尝试过选择的答案: How to disable ondblclick in JavaScript? 但它不起作用,就我而言。按照惯例,我怀疑它与 IE8 有关(因为我以前的很多问题都与
HTML select 在单击条目时具有 ondblclick 方法 - 保存它。但由于某些原因,在 Edge 浏览器中会触发两次,而在 chrome 中则工作得很好。 func
我正在阅读下面列出的其他人的 javascript 代码 window.onload = function(){ // Listen to the double click event. if
我是一名优秀的程序员,十分优秀!