Archive for the ‘CSS + XHTML’ Category

JQuery 对事件进行动态处理的一个问题

Tuesday, June 15th, 2010

对于以下代码:

<a id="link" onclick="alert('hello')" >link</a>
 
<script>
alert($('#link').attr('onclick'));
$('#link').attr('onclick', "alert('world')");
alert($('#link').attr('onclick'));
</script>

上面的代码会让原来的onclick事件失效。

<a id="link" onclick="alert('hello')" >link</a>
 
<script>
alert($('#link').attr('onclick'));
$('#link').attr('onclick', '').click(function(){alert('world')});
alert($('#link').attr('onclick'));
</script>

上面的代码能够实现绑定一个新事件,但是如果onclick的参数里面有this,这样也是不行的。

<a id="link" onclick="alert(this).text()" >hello</a>
 
<script>
alert($('#link').attr('onclick'));
$('#link').replaceWith('
<a id="link" onclick="alert($(this).text())">world</a>');
alert($('#link').attr('onclick'));
</script>

必须使用上面的代码才能正确得处理带有this的onclick属性。

问题的原因不是很清楚(不知道是JQuery的问题还是浏览器处理机制的问题),所以在使用Jquery的时候,应尽量避免在Dom操作的时候处理事件属性。

HTML元素介绍

Wednesday, April 9th, 2008

google、netvibes、wordpress对边框边缘的处理

Monday, October 9th, 2006