繁体   English   中英

用JQuery附加输入框

[英]Append input box with 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>

感谢您的任何帮助!

您也可以尝试:

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

获得:at:在这里尝试:现在提琴,您可以在这里使用它:

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

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

而不是在点击中解除绑定,您可以

$(".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");
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM