使用JQuery附加输入框

时间:2015-01-13 22:08:47

标签: javascript jquery

我尝试使用id #shouttext将字段添加到字段中,但我需要修改onclick事件的值,该事件就在('还删除')符号之后。

所以,如果我有

<img src="images/smilies/at.png" alt="" title="" class="smilie smilie_9 smilie_pointer" onclick="MyBBEditor.insertText(':at:');">

我想要

:at:

并使用#shouttext id将其添加到输入中。下面是我的代码,它不起作用 - 我认为它被定义的onclick值阻止,我试图删除它。

<script type="text/javascript">
$( document ).ready(function() {
$('.smilie').click(function()
{
   var s1,s1;
   s1=attr("onclick");
   s1=s1.replace('MyBBEditor.insertText(\'', '');
   s2=s1.replace('\')', '');
   $('.smilie').attr('onclick','').unbind('click')
   $('#shouttext').val($('#shouttext').val()+s2);
}) 
});
</script>

提前感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

你也可以尝试:

var str = $(".smilie").attr("onclick").split("'")[1];

获取:at:在此处尝试:fiddle 现在你可以在这里使用它:

$('.smilie').unbind("click");
$('.smilie').click(function() {
    var str = $(".smilie").attr("onclick").split("'")[1];
    $('#shouttext').val($('#shouttext').val() + "" + str);
});

或@eg_dac如何说,您可以使用click覆盖$.on()事件

答案 1 :(得分:0)

而不是在点击中取消绑定,你可以

$(".smilie").attr("onclick", ""); // clear the already declared attribute.

$(".smilie").on("click", function(){
    $('#shouttext').val($('#shouttext').val()+s2);
});

此处的示例http://jsfiddle.net/meougz1L/

$("img").attr("onclick","");

$("img").on("click", function(){
    alert("click event overridden");
});