0

ボタンをクリックせずにテキストエリアに書き込んだ後、テキストエリアの外側をクリックして何かを投稿したい..どうすればそれを達成できますか?? 私のコード...

<form action="javascript:parseResponse();"  id="responseForm">
<textarea align="center" name="post" id="post">Write something</textarea>
<input type="button" id="submit" value="submit" />
</form>

AJAX:

$('#responseForm').submit(function({$('#submit',this).attr('disabled','disabled');});

    function parseResponse(){
    var post_status = $("#post");
    var url = "post_send.php";

    if(post_status.val() != ''){

        $.post(url, { post: post_status.val()}, function(data){
        $(function(){
        $.ajax({
            type: "POST",
            url: "home_load.php",
            data: "getNews=true",
            success:function(r)
    {
        $(".container").html(r)
            },
    })
    })  

        document.getElementById('post').value = "";

    });

        }
    }

ボタンを削除したい...ユーザーがテキストエリアの外側をクリックすると、自動的に情報が送信されます...テキストエリアの外側全体が送信ボタンとして機能します...ユーザーがテキストエリアに情報を書き込むと。 ..どうすればそれを達成できますか??

4

2 に答える 2

2

次のことを試してください。

$(document).on("click", function(e) {
    var $target = $("#YOUR_ELEMENT");
    if ($target.has(e.target).length === 0) {
        your_submit_function();
    }
});

blur機能を改善するために、送信機能をイベントに添付することもできます。

$(document).on("click", function(e) {
    var $target = $("#YOUR_ELEMENT");
    if ($target.has(e.target).length === 0) {
        your_submit_function();
});

$("#YOUR_ELEMENT").on("blur", function() {
    your_submit_function();
});
于 2013-07-30T14:21:55.123 に答える
0

ドキュメント全体にクリック ハンドラーをアタッチし、ユーザーがテキスト領域内をクリックした場合にイベントをキャンセルすることができます。このような何かがトリックを行うかもしれません:

$( document ).on( "click", function( ev ) {
    if( $( ev.target ).index( $( "#post" )) == -1 ) {
    // User clicked outside the text area.
    }
} );

これと同様のコードを使用して、本質的に同じことを達成します (ユーザーが何かの外をクリックしたときに確認します)。これはそのコードのコピー アンド ペースト (わずかな変更) であり、目的に合わせてテストしていません。基本的に、クリックイベントのハンドラーをドキュメント全体に追加し、クリックされた要素がテキストエリアでない場合にのみコードを実行します。

于 2013-07-30T14:25:02.820 に答える