简体   繁体   English

Javascript onclick函数不适用于HTML标题

[英]Javascript onclick function not working on HTML heading

I want onclick to trigger when clicked on HTML heading as shown in code below. 我希望onclick在单击HTML标题时触发,如下面的代码所示。

<h2 class="title" onclick="viewPost('<?php echo $pageLink; ?>', '<?php echo $tabLink; ?>');">
<?php echo $menuItem["ContentMenu"]['title']; ?>
</h2>

My javascript function is as follows 我的javascript函数如下

<script>
function viewPost(pageLink,tabLink){
   //do something
    }
</script>

My problem is onclick works fine when it is in HTML link 我的问题是,在HTML链接中时,onclick可以正常工作

<a href="#foo" onclick="viewPost('<?php echo $pageLink; ?>', '<?php echo $tabLink; ?>');" > 

but it does not work in HTML heading. 但它不适用于HTML标题。 Please help. 请帮忙。

Have you checked that the generated HTML/Javascript is valid. 您是否检查了生成的HTML / Javascript是否有效。 This works fine for me 这对我来说很好

<h1 onclick="alert('Hello');">A heading</h1>
<p>Some text</p>

See http://jsfiddle.net/2S56N/ for a demo 有关演示,请参见http://jsfiddle.net/2S56N/

Better use jquery than javascript, Can I have onClick() event for <h1> to <h6> tags? 比javascript更好地使用jquery,是否可以将<h1>到<h6>标记的onClick()事件?

$('h2').click(function(){
   //do something on click
});

and also I tried your code with some modifications(below) and it works fine 而且我尝试了一些修改(如下)的代码,它工作正常

<script>
function viewPost(pageLink,tabLink){
alert(pageLink);
}
</script>
<?php
$tabLink = 1;
$pageLink = 2;
?>
<h2 class="title" onclick="viewPost('<?php echo $pageLink; ?>', '<?php echo $tabLink;     ?>');">click</h2>

Try This I test it and its work fine: 试试这个我测试一下,它的工作正常:

<script>
function viewPost(pageLink,tabLink){
    alert("pageLink is" + pageLink +"tabLink is "+tabLink);
 }
</script>


<h2 class="title" onclick="viewPost('<?php echo 'testLink'; ?>', '<?php echo 'tabLink'; ?>');">
Click me
</h2>

<a href="#foo" onclick="viewPost('<?php echo 'testLink'; ?>', '<?php echo 'tabLink'; ?>');" > Click me</a>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM