我尝试使用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>
提前感谢您的帮助!
答案 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");
});