1

我想使用 window.open 方法打开窗口但我想在字符串函数中使用这个函数。我已经写了一些代码,但它不工作。

<head>
<script type="text/javascript" src="../jquery-1.8.3.js"></script>
<script type="text/javascript">
$(function(){
var str= '<a href="javascript:void(0)" onclick="window.open("http://www.google.com","mywin","height=1000, width=500")">google</a>'
$('body').append(str)
})</script>
</head>
<body>
</body>
4

8 回答 8

1

那是因为您将引号放在引号 ( '"Hello, "World!""') 中。您需要使用反斜杠 ( ) 对它们\进行转义。改变:

onclick="window.open("...", "...", "...")"

至:

onclick="window.open(\"...\", \"...\", \"...\")"
于 2013-06-03T11:25:42.107 回答
0

在双引号内调用函数时必须使用单引号。您可以执行以下操作:

onclick="window.open('http://www.google.com')"
于 2013-06-03T11:48:21.450 回答
0

引号不匹配.. 添加反斜杠(/)

var str= '<a href="javascript:void(0)" onclick="window.open(\"http://www.google.com","mywin","height=1000, width=500\")">google</a>'
于 2013-06-03T11:26:09.883 回答
0

您应该将转义字符添加到字符串中的 "...

var str= '<a href="javascript:void(0)" onclick="window.open(\"http://www.google.com\",\"mywin\","height=1000, width=500\")">google</a>';
于 2013-06-03T11:26:36.063 回答
0

问题是您"在另一个内部使用",因此您需要为此使用转义字符\

这是更新的代码-

<head>
<script type="text/javascript" src="../jquery-1.8.3.js"></script>
<script type="text/javascript">
$(function(){
var str= '<a href="javascript:void(0)" onclick="window.open(\"http://www.google.com\",\"mywin\",\"height=1000, width=500\")">google</a>'
$('body').append(str)
})</script>
</head>
<body>
</body>
于 2013-06-03T11:27:36.647 回答
0

您需要"使用onclick=".."\'

$(function(){
    var str= '<a href="javascript:void(0)" onclick="window.open(\'http://www.google.com\',\'mywin\',\'height=1000, width=500\')">google</a>'
    $('body').append(str)
})

演示:小提琴

于 2013-06-03T11:29:24.010 回答
0

您可以使用其他功能

var clickFunc=function () {window.open("http://www.google.com","mywin","height=1000, width=500")};
var str= '<a href="javascript:void(0)" onclick="clickFunc()">google</a>';
于 2013-06-03T11:32:04.187 回答
0
var str="<a href=\"javascript:void(0)\" onclick=\"window.open('http://www.google.com','mywin','height=1000, width=500')\">google</a>";
于 2013-06-03T11:32:38.983 回答