我有以下代码
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="jquery-1.12.4.js"></script>
<title>
HelloWorld JQuery
</title>
</head>
<body>
<p>
Lets play around with JQuery
</p>
</body>
<script >
function changeColorOnClick()
{
console.log("changed color");
}
var pTag=$('p');
pTag.on('click',changeColorOnClick);
</script>
</html>
事件监听器工作正常,但是当我在浏览器中检查元素时,p
标记没有关联的onClick
属性,为什么会这样?
是否通过脚本绑定侦听器或在html元素标记本身中提及处理程序方法是不是一样?
答案 0 :(得分:0)
通过document.getElementById('myElement').onclick
或$('#myElement').on(...)
将事件处理程序附加到元素时,它不会设置或更改元素的onClick
属性。它只是附加内部处理程序。
要更改元素的onClick
属性,必须使用$(elem).attr('onClick','click_handler_func');
。然后,此属性将显示在DOM检查器中。
答案 1 :(得分:0)
我看到了一些错误。
这应该这样做:
function changeColorOnClick()
{
console.log("changed color");
}
$(document).ready(function(){
var pTag=$('p');
pTag.on('click',function(){changeColorOnClick();});
});