3

bodyタグのhtmlをjqueryで変更するにはどうすればいいですか?

私はこのbodyタグを持って<body>いますボタンをクリックすると、bodyはに変わる必要があります
<body ontouchmove="BlockMove(event);>

と でどうやってそれを作ることができjqueryます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 に答える