onclick输入不加载功能

时间:2014-07-16 20:24:08

标签: javascript jquery

以下是一些jquery将使用ajax.php中的内容更新两个div

<script type="text/javascript" language="javascript">
setTimeout(function() {
        var postData = " "; 
        $.ajax({
            url : 'ajax.php', 
            data : postData}).done(function( resp ) {
                $('#div_1').text($('#inner_1' , resp).text());
                $('#div_2').text($('#inner_2' , resp).text());
            }
    );
}, 100);
</script>

当我打开页面时加载正常,但它也不会加载一个点击按钮:

<input type="button" value="Update" onclick="function()" />

非常感谢!

这是带有事件监听器的最终解决方案,感谢您的答案!

<html>

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.pack.js" language="javascript"></script>


<script type="text/javascript" language="javascript">
var ping = function() 
{
    var postData = " "; 
    $.ajax
    ({
     url : 'ajax.php', 
     data : postData}).done(function( resp ) 

        {
            $('#div_1').text($('#inner_1' , resp).text());
            $('#div_2').text($('#inner_2' , resp).text());
        }
                            )
}
    setTimeOut(myFunction, 100);
    document
        .getElementById("button")
        .addEventListener("click", myFunction, false);
</script>

   <div id="div_1"></div>
   <div id="div_2"></div>

<input type="button" value="Update" onclick="ping()" />

</html>

1 个答案:

答案 0 :(得分:3)

通过提示进行内联事件处理(这是您正在使用的方法)非常不鼓励,而是使用event listeners;但是,根据您的问题,您需要做的是声明一个非匿名函数,将其存储到变量中并将其用作setTimeOut的参数并调用onclick:< / p>

关于你的javascript:

var myFunc = function() {
    var postData = " "; 
    $.ajax({
        url : 'ajax.php', 
        data : postData}).done(function( resp ) {
            $('#div_1').text($('#inner_1' , resp).text());
            $('#div_2').text($('#inner_2' , resp).text());
    }
);

setTimeout(myFunc, 100);

在您的HTML上:

<input type="button" value="Update" onclick="myFunc()" />

此外,您不能将保留字function用作变量或函数名称。

更好的是,以下是使用事件监听器的示例:

<script type="text/javascript" language="javascript">
    var myFunction() {
        /* Your function here */
    }
    setTimeOut(myFunction, 100);

    document
        .getElementById("YourButton")
        .addEventListener("click", myFunction, false);
</script>
相关问题