<div> onClick无法正常工作?

use*_*198 2 html javascript php onclick

我在html中使用php代码打印一些内容但是,当我试图点击那个div时它没有调用onClick中的函数?

这是我的PHP代码

 echo '<div class="col-sm-12 col-xs-12 " ><div class="row ">';
echo '<div class="col-sm-10" onClick="openUrlInNewTab("'.$myarray['Job']['link'].'");"><h3>';
echo  $myarray['Job']['title']."</h3></div></div></div>";
Run Code Online (Sandbox Code Playgroud)

这是在浏览器的"查看源"中生成的html代码

<div class="col-sm-12 col-xs-12 ">
 <div class="row " >
  <div class="col-sm-10 " onClick="openUrlInNewTab("www.example.com");" >
    <h3>Can you Code? </h3>
  </div>
 </div>
</div>
Run Code Online (Sandbox Code Playgroud)

这是我在html页面中的功能

    function openUrlInNewTab(url) {
// div click is not reaching  here
     alert(url); 
     window.open(url, "_blank");
}
Run Code Online (Sandbox Code Playgroud)

Mar*_*łek 8

你应该使用单引号.

代替

<div class="col-sm-10 " onClick="openUrlInNewTab("www.example.com");" >
Run Code Online (Sandbox Code Playgroud)

你应该有

<div class="col-sm-10 " onClick="openUrlInNewTab('www.example.com');" >
Run Code Online (Sandbox Code Playgroud)

如果你在双引号内加双引号,那么简单就行了.

所以在PHP中你应该改变:

 echo '<div class="col-sm-10" onClick="openUrlInNewTab("'.$myarray['Job']['link'].'");"><h3>';
Run Code Online (Sandbox Code Playgroud)

echo '<div class="col-sm-10" onclick="openUrlInNewTab(\''.$myarray['Job']['link'].'\');"><h3>';
Run Code Online (Sandbox Code Playgroud)

编辑

还有一件事.如果您希望在浏览器中打开此网址,则应该http://先添加www.example.com

示例工作HTML代码:

<!DOCTYPE html>
<head>
    <meta charset="utf-8" />
</head>
<body>
<div class="col-sm-12 col-xs-12 ">
 <div class="row " >
  <div class="col-sm-10 " onclick="openUrlInNewTab('http://www.example.com');" >
    <h3>Can you Code? </h3>
  </div>
 </div>
</div>
          <script>
    function openUrlInNewTab(url) {
// div click is not reaching  here
     alert(url); 
     window.open(url, "_blank");
}
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)