0

有一些类似的线程,我已经检查和测试过。但不适用于我的情况。

我有评论框,我想在用户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) ..

也不执行任何操作。

这里有什么问题?

更新 我还检查了小提琴它是否有效。但不知道我的本地主机出了什么问题。看起来像。

墙.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>
?>

现在有什么问题吗?因为它仍然无法在我的本地主机上运行。

4

2 回答 2

1

请确保您已包含该jQuery库。我已经检查了代码及其工作。你可以在这里查看。

JSFiddle

于 2013-10-12T10:02:05.287 回答
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!');
  }
});

这是一个简单的,当keydowndiv 上有事件时运行。并且会运行,如果输入密钥,则会出现警报!

编辑小提琴中的错误:

我打算编辑小提琴,然后我想我应该找到一个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 返回设置为空或假。在那里改变它并写成:

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

祝你好运!

于 2013-10-12T09:57:31.390 回答