Javascript 如何侦听onclick事件,然后添加另一个onclick事件
我有一个动态创建的旋转木马横幅,我无法控制HTML。它为转盘中的每个图像生成以下代码,唯一改变的是img id;它上升了1Javascript 如何侦听onclick事件,然后添加另一个onclick事件,javascript,jquery,html,Javascript,Jquery,Html,我有一个动态创建的旋转木马横幅,我无法控制HTML。它为转盘中的每个图像生成以下代码,唯一改变的是img id;它上升了1 <a href="/somelike.aspx" onclick="window.open(this.href, (this.target? this.target : '_self'));return false;"><img id="theimg1_0" src="someimage.jpg" alt="Slide Show Image" title=
<a href="/somelike.aspx" onclick="window.open(this.href, (this.target? this.target : '_self'));return false;"><img id="theimg1_0" src="someimage.jpg" alt="Slide Show Image" title="" border="0"></a>
我宣布这一事件:
_gaq.push(['_trackEvent', 'slider2', 'click', $(this).attr('href'),0,true]);
只需将函数引用为事件处理程序,如下所示:
$('#carousel').on('click', 'a', function(){
_gaq.push(['_trackEvent', 'slider2', 'click', this.href,0,true]);
});
html:
只需将函数引用为事件处理程序,如下所示:
$('#carousel').on('click', 'a', function(){
_gaq.push(['_trackEvent', 'slider2', 'click', this.href,0,true]);
});
html:
只需将函数引用为事件处理程序,如下所示:
$('#carousel').on('click', 'a', function(){
_gaq.push(['_trackEvent', 'slider2', 'click', this.href,0,true]);
});
html:
只需将函数引用为事件处理程序,如下所示:
$('#carousel').on('click', 'a', function(){
_gaq.push(['_trackEvent', 'slider2', 'click', this.href,0,true]);
});
html:
我将使用事件委托,而不必担心更改现有的onclick事件。如果您使用的是jQuery,则可以执行以下操作:
$('#carousel').on('click', 'a', function(){
_gaq.push(['_trackEvent', 'slider2', 'click', this.href,0,true]);
});
编辑:
现在,我看到原始代码的onclick处理程序返回false,从而破坏了事件委托。请尝试以下方法:
$('#carousel').on('mousedown', 'a', function(){
this.onclick = function(e){
window.open(this.href, (this.target? this.target : '_self'));
_gaq.push(['_trackEvent', 'slider2', 'click', this.href,0,true]);
e.preventDefault();
}
});
mousedown应该在onclick事件触发之前触发,这样您就有机会替换onclick事件处理程序。我将使用事件委派,而不必担心更改现有的onclick事件。如果您使用的是jQuery,则可以执行以下操作:
$('#carousel').on('click', 'a', function(){
_gaq.push(['_trackEvent', 'slider2', 'click', this.href,0,true]);
});
编辑:
现在,我看到原始代码的onclick处理程序返回false,从而破坏了事件委托。请尝试以下方法:
$('#carousel').on('mousedown', 'a', function(){
this.onclick = function(e){
window.open(this.href, (this.target? this.target : '_self'));
_gaq.push(['_trackEvent', 'slider2', 'click', this.href,0,true]);
e.preventDefault();
}
});
mousedown应该在onclick事件触发之前触发,这样您就有机会替换onclick事件处理程序。我将使用事件委派,而不必担心更改现有的onclick事件。如果您使用的是jQuery,则可以执行以下操作:
$('#carousel').on('click', 'a', function(){
_gaq.push(['_trackEvent', 'slider2', 'click', this.href,0,true]);
});
编辑:
现在,我看到原始代码的onclick处理程序返回false,从而破坏了事件委托。请尝试以下方法:
$('#carousel').on('mousedown', 'a', function(){
this.onclick = function(e){
window.open(this.href, (this.target? this.target : '_self'));
_gaq.push(['_trackEvent', 'slider2', 'click', this.href,0,true]);
e.preventDefault();
}
});
mousedown应该在onclick事件触发之前触发,这样您就有机会替换onclick事件处理程序。我将使用事件委派,而不必担心更改现有的onclick事件。如果您使用的是jQuery,则可以执行以下操作:
$('#carousel').on('click', 'a', function(){
_gaq.push(['_trackEvent', 'slider2', 'click', this.href,0,true]);
});
编辑:
现在,我看到原始代码的onclick处理程序返回false,从而破坏了事件委托。请尝试以下方法:
$('#carousel').on('mousedown', 'a', function(){
this.onclick = function(e){
window.open(this.href, (this.target? this.target : '_self'));
_gaq.push(['_trackEvent', 'slider2', 'click', this.href,0,true]);
e.preventDefault();
}
});
mousedown应该在onclick事件触发之前触发,这样您就有机会替换onclick事件处理程序。我根本无法控制html,因此无法将此onclick=“onClickHandler();”事件添加到链接中。我根本无法控制html,因此无法添加此onclick=“onClickHandler();”对于链接我根本无法控制html,因此我无法将此onclick=“onClickHandler();”事件添加到链接我根本无法控制html,因此我无法将此onclick=“onClickHandler();”事件添加到链接我已尝试过此操作,但无效。我认为这是因为旋转木马每隔几秒钟就会动态变化,所以html也会变化。我把click事件放在onload事件中,我应该用另一种方式吗?(如果需要示例,请告诉我)事件委派是一种避免更改HTML成为问题的方法。我之前没有注意到onclick事件返回false,所以这就是委托不起作用的原因。事件被阻止在DOM树上冒泡,我认为这是旋转木马作者的一个短视举动。我已经尝试过了,但没有成功。我认为这是因为旋转木马每隔几秒钟就会动态变化,所以html也会变化。我把click事件放在onload事件中,我应该用另一种方式吗?(如果需要示例,请告诉我)事件委派是一种避免更改HTML成为问题的方法。我之前没有注意到onclick事件返回false,所以这就是委托不起作用的原因。事件被阻止在DOM树上冒泡,我认为这是旋转木马作者的一个短视举动。我已经尝试过了,但没有成功。我认为这是因为旋转木马每隔几秒钟就会动态变化,所以html也会变化。我把click事件放在onload事件中,我应该用另一种方式吗?(如果需要示例,请告诉我)事件委派是一种避免更改HTML成为问题的方法。我之前没有注意到onclick事件返回false,所以这就是委托不起作用的原因。事件被阻止在DOM树上冒泡,我认为这是旋转木马作者的一个短视举动。我已经尝试过了,但没有成功。我认为这是因为旋转木马每隔几秒钟就会动态变化,所以html也会变化。我把click事件放在onload事件中,我应该用另一种方式吗?(如果需要示例,请告诉我)事件委派是一种避免更改HTML成为问题的方法。我之前没有注意到onclick事件返回false,所以这就是委托不起作用的原因。事件被阻止在DOM树上冒泡,我认为这是旋转木马作者的短视举动。