由ajax调用加载的页面中的文本框上的Jquery按键事件

时间:2013-10-14 05:29:59

标签: javascript jquery ajax

我有主页index.php,在此页面上按钮点击我使用ajax加载url.php。

在url.php中我有text box。我希望当用户在此texbox中使用courser输入内容时,其下方的按钮显示为可见。

url.php

<input type="text" id="text" name="sent" contenteditable="true"  style=" text-align: left; height: 30px; width:512px; " placeholder="Enter URL ..."/></input>
<button id="b1" style="display:none" > Get Sentiment </button>

的index.php

在身体部位:

<script>
    $("#text").keypress( function() {
        document.getElementById("b1").style.display = "block";
        console.log( "Handler for .keypress() called." );
    });
</script>

但是当我转到文本框并单击其中时,文本框不会出现。我也尝试过 blurfocus代替keypress,但没有变更。

要使用ajax加载url.php我有以下代码:

<input type="button" id="load_url" value="Load url.php" />
$("#load_url").click(function(){
    $.ajax({
        url:"url.php",
        success:function(response) {
            $("#view_port").html(response);
            $("#load_url").hide();
        }
    }); 
});

3 个答案:

答案 0 :(得分:0)

将您的url.php更改为:

<textarea id="text" name="sent" contenteditable="true" style=" text-align: left; height: 30px; width:512px; " placeholder="Enter URL ..."></textarea>
<input type="button" id="b1" style="display:none" value=" Get Sentiment" />

OR

<input type="text" id="text" name="sent" contenteditable="true" style=" text-align: left; height: 30px; width:512px; " placeholder="Enter URL ..." />
<input type="button" id="b1" style="display:none" value=" Get Sentiment" />

并使用

$(document).ready( function() {
    $("#text").bind("keypress", function( e ) {...});
});

希望它会有所帮助。

答案 1 :(得分:0)

试试这个

<script type="text/javascript">
    $("#text").keypress( function() {
        $("#b1").show();
        console.log( "Handler for .keypress() called." );
    });
</script>

答案 2 :(得分:0)

我猜你忘了在AJAX加载后注册keypress事件。

    $( document ).ready( function(e) {
       $('#button').click(function(e) { // Clicking the button to load the url.php
          $('#somediv').load("url.php", function() { // loading the url.php
             $('#text').keypress(function(e) { // You are registering the keypress event listener after the ajax load
                 $('#b1').show('fast');
             });
          }
       });
   });