3

如何使用 jquery 更改 body 标记的 html。

我有这个 body 标签<body>当我点击一个按钮时,body 必须更改为
<body ontouchmove="BlockMove(event);>

我怎样才能用jqueryand做到这一点javascript

4

4 回答 4

5
$('#buttonId').click(function(){
     $('body').attr('ontouchmove', "BlockMove(event)")
})

或者更好的是,不要更改 DOM 结构,只需将回调绑定到事件:

$('#buttonId').click(function(){
     $('body').bind('touchmove', BlockMove);
});
于 2012-05-02T10:25:51.477 回答
2

无需更改真实属性 - 只需将函数引用直接添加到 body 标签:

$('#button').click(function() {
    document.body.ontouchmove = BlockMove;
});

或jQuery方式:

$('#button').on('click', function() {
    $('body').on('touchmove', BlockMove);
});

请注意,在后一种情况下,您需要使用ev.originalEvent来访问原始事件对象,而不是 jQuery 的规范化事件,它不知道触摸属性。

在 jQuery 版本中,您还需要确保这不会多次发生,否则每次按下按钮都会一遍又一遍地添加到事件处理链BlockMove在 DOM0 版本中,这无关紧要,因为它会覆盖事件处理程序。

于 2012-05-02T10:27:17.103 回答
0

试试这个(未经测试的代码):

$(body).attr("ontouchmove","blockMove(event)");
于 2012-05-02T10:25:28.830 回答
0

我认为您可以在单击按钮时将事件绑定到正文:

$('button').click(function(){
     $("body").bind('touchmove', BlockMove);
});
于 2012-05-02T10:27:10.610 回答