Heyy guys this is my new code
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script>
$(document).ready(function(){
$.ajax({
url: 'getInfo.php',
success: function(data) {
var myJSONObject = {"bindings": [{"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"},{"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"},{"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"}]};
trip_progress='<div><img src="red.png" onmouseover="myclick('+myJSONObject+')" /></div>';
var headID = document.getElementsByTagName("head")[0];
var newScript = document.createElement('script');
newScript.type = 'text/javascript';
newScript.src = 'js/callclick.js';
headID.appendChild(newScript);
document.getElementById("timepass").innerHTML=trip_progress;
}
});
});
</script>
</head>
<body>
JS代码有一个像这样的简单警报检查 http://www.vaishakhthayyil.com/trip/js/callclick.js
我无法理解为什么没有在函数中传递对象。
答案 0 :(得分:0)
你可能会使用闭包调用一个函数来生成一个动态函数,然后你可以调用它,尽管我从未使用过这个函数。您可以找到有关闭包here的更多信息。它们是许多函数式编程语言的一个特性。
答案 1 :(得分:0)
请查看我的编辑。如果您JSON.stringify您的对象,那么您的代码将按预期工作。
var gmarkers = {key: 'value'};
var ss = document.createElement('script');
var scr = "function caller(){ alert("+JSON.stringify(gmarkers)+") ;}"; //alert(scr); var tt1 = document.createTextNode(scr); ss1.appendChild(tt1); var hh1 = document.getElementsByTagName('head')[0]; hh1.appendChild(ss1); caller()
var tt = document.createTextNode(scr);
ss.appendChild(tt);
var hh = document.getElementsByTagName('head')[0];
hh.appendChild(ss);
caller();