1

私は非常に独特な問題を抱えており、それを手に入れることができません。入力要素の末尾のスラッシュは消えましたが、(二重チェック) php には含まれていると確信しています。jquery がこのデータを html ツリーに追加すると、何かが起こります。

ここで問題を確認できます: http://gamoicani.es/logo/ロゴをクリックして入力 html を表示すると、末尾にスラッシュがないことがわかります。

しかし、phpで私はこれを持っています:

<input type="text" name="guesslogo" data-lang="<?php echo $row['logo_lang']; ?>" />

私も試し<input></input>ましたが、結果は同じです。

また、これらの入力でノブと kbd jquery プラグインを無効にしましたが、何かが正しくなく、単に機能しません。

私は自分のajax呼び出しをチェックしました:

function create_views(level) {
        $.ajax({
            url: "actions.php",
            type: "GET",
            data: "show_level=" + level,
            cache: false,
            success: function (data){
                views[level] = '<li data-level="' + level + '">' + data + '</li>';

                //Count completed tasks
                completed_calls++;

                //if last level is loaded-called append and activate slider
                if (levels == completed_calls) {
                    //append views to container
                    console.dir($(".slides_container").append(views.join(' ')));
                    //activate slider
                    unislider = $(".slides_container").dpUniSlider({
                        //loop: false,
                        draggable: false
                    });
                    //Activate Georgian keyboard for some logos
                    $("input[data-lang=ge]").GeoKBD();

                    //Activate progress bar
                    update_level_progress_bar();
                }
            }
        });
}

ビューでconsole.dirを実行しましたが、/があります! したがって、追加中に何か問題が発生する必要があります...チェックするアイデアが不足しています...

末尾のスラッシュを気にするのはなぜですか?

on.keypress は、html の最初の入力に対してのみ機能します

//check answer on ENTER keyboard press
$("body").on("keypress", "input:text[name=guesslogo]", function(e){
    if (e.keyCode == 13) {  
        $(this).siblings(".check").trigger("click");
    }
});

これは正しく動作しません。

どんな助けでも大歓迎です!

4

3 に答える 3

2

前述のとおり、スラッシュとは何の関係もありません。

keydown で body の代わりに document を使用するようにコードを変更します

$(document).on("keydown","input[name='guesslogo']",function(e){
    if (e.keyCode == 13) {  
        $(this).siblings(".check").trigger("click");
    }
});

あなたのコードはこの変更で動作します。

于 2013-04-17T15:31:57.110 に答える
1

最新の HTML における自己終了タグ構文は、XML 中毒者にとって単なる構文糖衣です

DOM ビューアを使用してドキュメントを表示すると、DOM が HTML にシリアル化されていることがわかります (元のソース コードではありません)。

スラッシュは完全にオプションであるため、ビューアーはそれをレンダリングしません。

末尾のスラッシュを気にするのはなぜですか?

そのコードが機能しないのは、末尾のスラッシュとは関係ありません。

于 2013-04-17T15:35:26.883 に答える
1

入力タグにスラッシュを閉じる必要はありません。それらには項目が含まれておらず、単一のタグとして表されます。

これ:

私も試し<input></input>ましたが、結果は同じです。

は実際には完全に間違っています。入力の終了タグはありません

別の注意として、jQuery は投稿した内容を正確に追加するのではなく、それを解析してから意味的に正しい HTML として追加します。

たとえば、 、、および$().appendに同じものを追加します"<div>""<div/>""<div></div>"

また、Chrome 開発ツールなどのツールは、ソースに明示的に入力したとしても、/ なしで入力を表示します。

ここで入力を調べてみてください: http://jsfiddle.net/f7USH/要素がスラッシュ付きの入力として追加されていることがわかりますが、devtools ではスラッシュなしで表示されます。

于 2013-04-17T15:14:01.987 に答える