在OsClass中
这是我的代码,来自footer.php
<div id="footer">
<div class="footer">
<div id="footer_1" class="col">
<h1>location</h1>
<ul>
<form action="<?php echo osc_base_url(true); ?>" method="get" class="search" name="locat">
<input type="hidden" name="page" value="search" />
<input type="hidden" id="sCity" name="sCity" value="" />
<li id="1" onclick="locat();"> mysore</li>
<li id="2" onclick="locat();">bhfgh</li>
</form>
</ul>
</div>
</div>
</div>
JavaScript是(放在同一页面中)
<script type="text/javascript">
function locat()
{
var city = $(this).attr('id');
alert(city);
}
</script>
在这里,JS功能不起作用。它给
Uncaught TypeError: object is not a function
onclick
问题在哪里?
最佳答案
更改:
<li id="1" onclick="locat(this);"> mysore</li>
和JS:
function locat(obj) {
var city = $(obj).attr('id');
alert(city);
}
否则,您将在错误的上下文中执行
locat
(window
而不是单击元素)。但是无论如何,这不是绑定事件的正确方法,因为您使用的是jQuery。它可能是:
<li class="city" id="1">mysore</li>
<li class="city" id="2">bhfgh</li>
以及此结构的jQuery代码:
$('.city').click(function() {
var city = $(this).attr('id');
alert(city);
});
会更好。
关于javascript - 在Osclass中,无法调用JavaScript函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15356651/