如何使用 jquery 更改 body 标记的 html。
我有这个 body 标签<body>
当我点击一个按钮时,body 必须更改为
<body ontouchmove="BlockMove(event);>
我怎样才能用jquery
and做到这一点javascript
?
如何使用 jquery 更改 body 标记的 html。
我有这个 body 标签<body>
当我点击一个按钮时,body 必须更改为
<body ontouchmove="BlockMove(event);>
我怎样才能用jquery
and做到这一点javascript
?
$('#buttonId').click(function(){
$('body').attr('ontouchmove', "BlockMove(event)")
})
或者更好的是,不要更改 DOM 结构,只需将回调绑定到事件:
$('#buttonId').click(function(){
$('body').bind('touchmove', BlockMove);
});
无需更改真实属性 - 只需将函数引用直接添加到 body 标签:
$('#button').click(function() {
document.body.ontouchmove = BlockMove;
});
或jQuery方式:
$('#button').on('click', function() {
$('body').on('touchmove', BlockMove);
});
请注意,在后一种情况下,您需要使用ev.originalEvent
来访问原始事件对象,而不是 jQuery 的规范化事件,它不知道触摸属性。
在 jQuery 版本中,您还需要确保这不会多次发生,否则每次按下按钮都会一遍又一遍地添加到事件处理链BlockMove
中。在 DOM0 版本中,这无关紧要,因为它会覆盖事件处理程序。
试试这个(未经测试的代码):
$(body).attr("ontouchmove","blockMove(event)");
我认为您可以在单击按钮时将事件绑定到正文:
$('button').click(function(){
$("body").bind('touchmove', BlockMove);
});