这是我的代码:
<h2></h2>
<input type="text" onkeyup="titleb(this.value)">
<script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
<script>
(function($){
function titleb( title ) {
$('h2').html(title);
}
})(jQuery)
</script>
它应该接受输入的文本并将其添加到h2中...但是我得到的是:
Uncaught ReferenceError: titleb is not defined
at HTMLInputElement.onkeyup
答案 0 :(得分:1)
您的函数已嵌套
这是解决此问题的方法:
<h2></h2>
<input type="text" onkeyup="titleb(this.value)">
<script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
<script>
let titleb
(function($){
titleb = (title) => {
$('h2').html(title)
}
})(jQuery)
</script>
针对不了解的人
(val) => {}
与function (val) {}
答案 1 :(得分:0)
您可以设法拥有一个命名空间,例如:
onkeyup="myapp.titleb(this.value)"
,并在脚本中使用以下代码:
<script>
var myapp = (function($){
return function titleb( title ) { // add a return
$('h2').html(title);
}
})(jQuery)
</script>
答案 2 :(得分:0)
您可以简单地拥有一个像这里的功能。
function titleb(title)
{
$('h2').html(title);
}
<script src="https://code.jquery.com/jquery-3.1.0.js"></script><h2></h2>
<input type="text" onkeyup="titleb(this.value)">
答案 3 :(得分:0)
在html中调用的函数必须在这样的全局范围内:
<script>
function titleb( title ) {
$('h2').html(title);
}
</script>
这是工作中的小提琴。