Javascript 控制台显示未捕获的TypeError:对象不是函数,其他一切正常
简短代码示例: JS: HTML:Javascript 控制台显示未捕获的TypeError:对象不是函数,其他一切正常,javascript,jquery,knockout.js,Javascript,Jquery,Knockout.js,简短代码示例: JS: HTML: <div id="Menu"> <p>Stuff In list:</p> <select id="resultsDb" data-bind="foreach:values"> <option data-bind="text:annotation"> </select> </div> <br> <a href="java
<div id="Menu">
<p>Stuff In list:</p>
<select id="resultsDb" data-bind="foreach:values">
<option data-bind="text:annotation">
</select>
</div>
<br>
<a href="javascript:null()" id="delete">delete</a>
列表中的内容:
所有这些都是在knockout中填充一个可观察的数组,并提供一个按钮来在单击时删除元素。但是,如果单击该按钮,控制台将显示错误未捕获类型错误:对象不是函数。从功能的角度来看,一切似乎都正常。是否有办法修复此错误(如果它是一个错误)
编辑:错误行(对于chrome)表示VM994:1,(匿名函数)这是由于尝试调用非函数的null
而导致的。除了javascript:null()
之外,您可以只使用#
甚至完全关闭href
。我想您需要javascript:void(null)
无论哪种方式,您都应该使用knockout而不是jquery来处理您的单击。另外,对于这样的按钮,通常最好不要使用a
元素。您最好使用按钮
,或者span
将href关闭不会使其无法读取吗?@KevinL否;它仍将响应单击事件。
<div id="Menu">
<p>Stuff In list:</p>
<select id="resultsDb" data-bind="foreach:values">
<option data-bind="text:annotation">
</select>
</div>
<br>
<a href="javascript:null()" id="delete">delete</a>