可以从innerHtml代码中调用Javascript吗?

时间:2014-02-08 20:52:01

标签: javascript jquery html

我有一个网站,当点击链接时,通过javascript的innerhtml函数插入内容(再次单击它,poof,插入的数据消失)。这非常有效。我现在要做的是为注入的代码添加一个flot图。 flot图需要在插入后运行javascript。这可能吗?替换将是插入代码中的一个按钮,然后运行JS ...但这不是理想的。思考? --Thanks!

好的..所以这里有一些代码:第一位是你点击的链接:

<a name = "<?php echo $tag_no ?>" class="none" href="#<?php echo $tag_no ?>" title = "<?php echo $tooltip ?>" onClick="sendRequest('GET','/2.0/details.php3?event_no=<?php echo $tag_no ?>&amp;details=0&amp;PHPSESSID=<?php echo session_id() ?>')"><?php echo $concert_date_formatted ?> </a></td>

它在这里调用javascript函数:

function sendRequest(method, url){
    //alert(method);
    if(method == 'get' || method == 'GET'){
        http.open(method,url,true);
        http.onreadystatechange = function() {
            handleResponse(url,method);
        }
        http.send(null);
    } else if (method == "got" || method == "GOT"){
        handleResponse(url,method);
    }
}

function handleResponse(url,method){
    //alert("Junebug!");
    if(method == "GOT" || method == "got"){
        //document.getElementById(event_no).innerHTML = null;
        //alert("got");
        BetterInnerHTML(event_no,null);
    } else if(http.readyState == 4 && http.status == 200){
        var response = http.responseText;
        var equals = url.indexOf('=');
        var andsign = url.indexOf('&');
        var event_no = url.substring(equals + 1, andsign);
        if(response){
            //alert(response);
            document.getElementById(event_no).innerHTML = response;
            //BetterInnerHTML(event_no,response);
        }
    } 

}

然后插入代码。

1 个答案:

答案 0 :(得分:0)

一种方法是在DIV中创建一个IFRAME并将document.write用于该IFRAME:

document.getElementById(event_no).innerHTML = "<iframe></iframe>";
document.getElementById(event_no).firstChild.contentWindow.document.write(response);

演示:http://jsfiddle.net/5B3Qs/