2013-10-18 98 views
0

即时通讯问题与我做的脚本,它不工作,我不知道我做错了什么。简单的Jquery脚本不工作:/

当我点击'span'标签之间的文本时,脚本应该将其插入'输入文本',但没有任何反应。

希望你能解决我的问题

谢谢!

<script type="text/javascript"> 
    var $tagsInput = $("#message"); 
    $("span").click(function() { 
     $tagsInput[0].value += $(this).text(); 
     return false; 
    }); 
</script> 

<input type="text" id="message" size="83" /> 
<div class="iconos" style="border: 1px solid #DDDDDD; font-size: 16px; padding: 3px; width:400px; word-wrap: break-word; float:right;margin-right: 150px; "> 
<span>&#x1F604;</span> 
<span>&#x1F60A;</span></div> 

回答

4

这是因为您尝试将事件处理程序绑定到尚不存在的元素。

要么把脚本元素在体内的底部或将其更改为

<script type="text/javascript"> 
    $(function(){ 
     var $tagsInput = $("#message"); 
     $("span").click(function() { 
     $tagsInput[0].value += $(this).text(); 
     return false; 
     }); 
    }); 
</script> 

.ready()

+0

'$ tagsInput [0]'? –

+0

@Jacedc $ tagsInput [0]将选择器中的第一个元素作为DOM元素返回。 –

+0

@Jacedc OP可能使用了这种方法,因为即使在使用函数作为回调函数时,当您执行+ =时,使用'val'编写代码的时间稍长一些。 –