在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);
}


否则,您将在错误的上下文中执行locatwindow而不是单击元素)。

但是无论如何,这不是绑定事件的正确方法,因为您使用的是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/

10-09 23:00