Как заменить этот div для contentbox текстовым полем? - PullRequest
1 голос
/ 03 июня 2011

Я получил этот скрипт с 9lessons.info, и он должен автоматически предлагать друзей, когда вы набираете @ simbol.Работает отлично!Но он использует div с включенным contentbox в качестве текстового поля, но так как это функция HTML5, но мне нужно более совместимое решение, такое как текстовая область.Но текстовая область не работает с текущим jQuery, даже с тем же идентификатором, что и у div.Я плохо разбираюсь в jQuery, поэтому кто-нибудь может понять почему?

Исходный код:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Facebook like Tag Friends</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>



 <script type="text/javascript">
$(document).ready(function()
{

var start=/@/ig;
var word=/@(\w+)/ig;

$("#contentbox").live("keyup",function() 
{
var content=$(this).text();
var go= content.match(start);
var name= content.match(word);
var dataString = 'searchword='+ name;

if(go.length>0)
{
$("#msgbox").slideDown('show');
$("#display").slideUp('show');
$("#msgbox").html("Type the name of someone or something...");
if(name.length>0)
{
$.ajax({
type: "POST",
url: "boxsearch.php",
data: dataString,
cache: false,
success: function(html)
{
$("#msgbox").hide();
$("#display").html(html).show();
}
});

}
}
return false();
});

$(".addname").live("click",function() 
{
var username=$(this).attr('title');
var old=$("#contentbox").html();
var content=old.replace(word,""); 
$("#contentbox").html(content);
var E="<a class='red' contenteditable='false' href='#' >"+username+"</a>";
$("#contentbox").append(E);
$("#display").hide();
$("#msgbox").hide();
$("#contentbox").focus();
});

});
</script>

</head>

<body>
<h3>Tutorial link <a href="http://9lessons.info">Click Here</a></h3>
<h2>Eg: 9lessons blog @sri</h2>
<div id="xxx"></div>
<div id="container">
<div id="contentbox" contenteditable="true"> 
</div>
<div id='display'>
</div>
<div id="msgbox">
</div>
</div>


</body>
</html>

1 Ответ

0 голосов
/ 03 июня 2011

Попробуйте:

var html = $('#contentbox').html();
var textarea = $('<textarea />').attr('id', 'contentbox').html(html);
$('#contentbox').replaceWith(textarea);

См .: http://jsfiddle.net/yFKRX/1/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...