我已经尝试了所有代码,但是当我单击<i>
或单击Enter时,还没有弄清楚如何编写代码。我真的需要帮助谢谢!
$('#update').click(function upd() {
loadChannel($('#chnlname').val());
});
var input = document.getElementById("chnlname");
input.addEventListener("keyup", function(event) {
if (event.keyCode === 13) {
loadChannel($('#chnlname').val());
}
});
<html>
<head>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
</head>
<body>
<div class="Search1">
<div class="inputWithIcon">
<input type="text" placeholder="Channel ID" id="chnlname" class="Input2"></input>
<i class="fa fa-search" aria-hidden="true" id="update" onclick="upd()"></i>
</div>
</div>
</body>
答案 0 :(得分:1)
1-在文档准备方法中添加您的js代码 2-无需在html代码中指定$ click处理程序,$('#update')。click就足够了。
完整代码:https://codepen.io/peker-ercan/pen/xaemMr
js;
$(document).ready(function () {
$('#update').click(function upd() {
loadChannel($('#chnlname').val());
});
function loadChannel() {
console.log("loading channel");
}
var input = document.getElementById("chnlname");
input.addEventListener("keyup", function (event) {
if (event.keyCode === 13) {
loadChannel($('#chnlname').val());
}
});
});
html:
<div class="Search1">
<div class="inputWithIcon">
<input type="text" placeholder="Channel ID" id="chnlname" class="Input2"></input>
<i class="fa fa-search" aria-hidden="true" id="update"></i>
</div>
</div>
答案 1 :(得分:0)
1)确保定义了click函数,并且在加载DOM时可以访问。您的函数upd(){}
似乎在全局上下文中不可用。尽管它没有遵循最佳实践,但是您可以通过将click函数绑定到window对象来完成此操作。
参见小提琴:https://jsfiddle.net/js03rq2b/42/
2)您已经通过onclick="upd()"
在HTML中调用了<button>
,同时还尝试在JavaScript中添加事件监听器。使用以下方法之一,但不能同时使用。
3)另外,如果将点击处理程序绑定到<i>
标记而不是void append(char* s, char c)
{
int len = strlen(s);
s[len] = c;
s[len+1] = '\0';
}
int main(void){
char str[] = "program example(input, output);";
char *f = str;
char *b = str;
char token[10];
if(*f != '\0'){
while (*f != ' ')
{
append(token,*f);
f++;
}
f++;
printf("%s",token);
token[9] = '\0';
}
return 0;
}
标记,它将同样响应空格键和ENTER键。只要有可能,请使用语义标记来利用默认的浏览器行为。
希望有帮助。