Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JS onclick和jQuery之间的差异。单击_Javascript_Jquery_Regex - Fatal编程技术网

Javascript JS onclick和jQuery之间的差异。单击

Javascript JS onclick和jQuery之间的差异。单击,javascript,jquery,regex,Javascript,Jquery,Regex,我尝试了两种不同的方法来调用onclick函数。 像这样: <input type="button" value="G" id="gras"></input> <input type="button" value="I" onclick="insertTag('&lt;italique&gt;', '&lt;/italique&gt;', 'textarea')" /> $("#gras").on("click", funct

我尝试了两种不同的方法来调用onclick函数。 像这样:

<input type="button" value="G" id="gras"></input>
<input type="button" value="I" onclick="insertTag('&lt;italique&gt;', '&lt;/italique&gt;', 'textarea')" />
$("#gras").on("click", function() {
insertTag("&lt;gras&gt;", "&lt;/gras&gt;", "textarea"); });
只有第一个有效。 这是我的regexp:

field = field.replace(/&/g, '&amp;');
field = field.replace(/</g, '&lt;').replace(/>/g, '&gt;');
field = field.replace(/\n/g, '<br />').replace(/\t/g, '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;');

field = field.replace(/&lt;gras&gt;([\s\S]*?)&lt;\/gras&gt;/g, '<strong>$1</strong>');
field = field.replace(/&lt;italique&gt;([\s\S]*?)&lt;\/italique&gt;/g, '<em>$1</em>');
field=field.replace(/&/g,&;);
field=field.replace(//g',);
字段=字段。替换(/\n/g,“
”)。替换(/\t/g,”); field=field.replace(/gras([\s\s]*?)\/gras/g,$1); field=field.replace(/italique([\s\s]*?)\/italique/g,$1');
谢谢

这里是JS:

$(文档).ready(函数(){
$(“#gras”)。在(“单击”,函数(){
insertTag(“gras,/gras,textarea”);
});
});
函数insertTag(startTag、endTag、textareaId、tagType){
var字段=document.getElementById(textareaId);
var scroll=field.scrollTop;
field.focus();
var startSelection=field.value.substring(0,field.selectionStart);
var currentSelection=field.value.substring(field.selectionStart,field.selectionEnd);
var endSelection=field.value.substring(field.selectionEnd);
field.value=startSelection+startTag+currentSelection+endTag+endSelection;
field.focus();
field.setSelectionRange(startSelection.length+startTag.length,startSelection.length+startTag.length+currentSelection.length);
}  	
函数预览(textareaId){
var字段=textareaId.value;
字段=字段。替换(/&/g,“&;”);
field=field.replace(//g',);
字段=字段。替换(/\n/g,“
”)。替换(/\t/g,”); field=field.replace(/gras([\s\s]*?)\/gras/g,$1); field=field.replace(/italique([\s\s]*?)\/italique/g,$1'); document.getElementById(“previewDiv”).innerHTML=字段; 控制台日志(字段); } var区域=document.getElementById(“textarea”); 预览(区域)

所见即所得


DOM可能还没有准备好。将
on()
方法包装在
$(document).ready()
函数中。这没关系,但仍不起作用:/提供问题中使用的代码。不要在回答中为问题提供额外信息。。。您可以随时自由编辑您的帖子。删除此答案,并将此信息添加到您的问题中。您仅使用1个变量调用insertTag:“gras,/gras,textarea”。这很少见,因为你第一次粘贴的代码显示了其他东西。。。