有一些类似的线程,我已经检查过并测试过了。但是对我的情况不适用。
我有评论框,我想在用户按Enter
键时发表评论。
<div contenteditable="true" class="commentMark" id="commentMark-<?php echo $row['p_id'];?>" onblur="if (this.value=='') this.value = 'Write a comment'" onfocus="if (this.value=='Write a comment') this.value = ''" onKeyPress="return SubmitComment(this,event)" wrap="hard" name="commentMark" style=" background-color:#fff; overflow: hidden;">Write a comment</div>
脚本:
$(function(){
$('.commentMark').keypress(function (e) {
if (e.keyCode == 13) {
alert('You pressed enter!');
}
});
});
// $("$commentMark").keypress(function (e) ..
也不会执行任何操作。
这里有什么问题?
更新 我还检查了它的工作情况。但不知道我的localhost有什么问题。 它看起来像。
wall.php
<script type="text/javascript">
$(function(){
$('.commentMark').keypress(function (e) {
if (e.keyCode == 13) {
alert('You pressed enter!');
}
});
});
</script>
<?php
<div contenteditable="true" class="commentMark" id="commentMark-<?php echo $row['p_id'];?>" onblur="if (this.value=='') this.value = 'Write a comment'" onfocus="if (this.value=='Write a comment') this.value = ''" onKeyPress="return SubmitComment(this,event)" wrap="hard" name="commentMark" style=" background-color:#fff; overflow: hidden;">Write a comment</div>
?>
现在有什么问题吗?因为它仍无法在我的localhost上运行。
答案 0 :(得分:1)
您的代码运行正常,只有一个问题,您确定在您的代码中使用
$('.commentMark').keypress(function (e) {
因为我也可以看到另一行代码
// $("$commentMark").keypress(function (e) ..
即使是评论,但要确保它没有被使用。因为$
未在选择器中使用! .
或#
与CSS类似。
修改强>
使用此:
<div onkeydown="alrtme()"></div>
嘿,他们必须写下所有其他属性,但只是更新div中的onkeydown。
然后将功能更新为
function alrtme(){
if (e.keyCode == 13) {
alert('You pressed enter!');
}
});
这是一个简单的,当div上有keydown
事件时会运行。并且会运行,如果输入密钥,则会出现警报!
编辑小提琴中的错误:
我打算编辑小提琴,然后我想我应该找到return
并猜测我找到了什么,
function SubmitComment(myfield,e) {
var keycode;
if (window.event) keycode = window.event.keyCode;
else if (e) keycode = e.which;
else return true;
if (keycode == 13)
{
}
else
return true;
}
它是最后一个,SubmitComment
是按下键时的功能。并且您已将enterkey返回设置为nothing或false。在那里更改并将其写为:
function SubmitComment(myfield){
if (event.keyCode == 13){
/*
* you don't need to use the keycode variable, just use them as this..
* and then submit it ..
*/
}
else
return true;
}
祝你好运!
答案 1 :(得分:1)
请确保您已包含jQuery
库。我检查了代码及其工作原理。你可以在这里查看。