Javascript 如何防止在<;上执行onclick事件;a>;自动标记?

Javascript 如何防止在<;上执行onclick事件;a>;自动标记?,javascript,jquery,Javascript,Jquery,我有一个动态创建的文本区域和搜索框。当用户搜索一个单词时,弹出窗口将显示包含该单词的数据。 用户单击数据,它将进入文本区域 这是一个简单的过程 所以我写了这段代码 答案 函数应答(){ //console.log('answer'); var div=document.createElement('div'); div.className='行'; div.innerHTML=\ \ \ {!!Form::open(['route'=>['qnamembercreate',$qnaMember

我有一个动态创建的文本区域和搜索框。当用户搜索一个单词时,弹出窗口将显示包含该单词的数据。 用户单击数据,它将进入文本区域

这是一个简单的过程

所以我写了这段代码

答案
函数应答(){
//console.log('answer');
var div=document.createElement('div');
div.className='行';
div.innerHTML=\
\
\
{!!Form::open(['route'=>['qnamembercreate',$qnaMemberData->idx],'method'=>'post','files'=>true',accept charset'=>'utf-8'])\
\
\
\
\
\
\
검색\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
취소\
등록\
\
\
{!!Form::close()!!}\
';
document.getElementById('replyData').appendChild(div);
document.getElementById('answer').remove();
$(“#回答内容”)。备注({
tabsize:2,
身高:200,
朗:“ko KR”,
fontNames:['Gulim','Arial','Arial Black','Comic Sans MS','Courier New',],
fontNamesIgnoreCheck:['Gulim'],
});
}
//常见问题搜索
功能常见问题解答搜索(){
var word=$('f#u search')[0]。值;
$.ajax({
url:“/guidesearch”,
键入:“POST”,
数据:{
关键词:单词
},
cache:false,
成功:函数(数据、jqXHR、文本状态){
控制台日志(数据);
常见问题解答弹出窗口(数据);
}
});
}
//常见问题解答弹出窗口
功能常见问题解答弹出窗口(数据){
var_html='';
_html='1〕\
\
\
\
\
\
';
对于(变量i=0;i
但问题是,
getContent
函数在我单击主题之前自动执行。 我搜索了一些建议删除括号的解决方案,但在我的例子中,我需要传递参数,以便无法删除括号


如何防止自动执行并使其正确?

创建一个TR,然后选择内部按钮并使用
addEventListener
连接事件侦听器,它将对要传递给
getContent
的内容进行适当的关闭。使用模板文字创建可读、可插入的多行字符串:

function faq_popup(data) {
  const appendedDiv = $(`
  <div class="modal fade show" tabindex="-1" id="myModal" role="dialog" style="positon:center;">
    <div class="modal-dialog modal-dialog-centered">
      <!-- Modal content-->
      <div class="modal-content">
        <div class="table-responsive">
          <table class="table mb-0">
            <tbody></tbody>
          </table>
        </div>
      </div>
    </div>
  </div>`);
  const tbody = appendedDiv.find('tbody')[0];
  data.forEach(({ content, subject }, i) => {
    const tr = tbody.appendChild(document.createElement('tr'));
    tr.innerHTML = `
      <th scope="row">${i + 1}</th>
      <td><a style="cursor:pointer">${subject}</a></td>
    `;
    tr.querySelector('a').addEventListener('click', () => getContent(content));
  });

  $('#modal_place').append(appendedDiv);
  $('#myModal').modal('show');
}
功能常见问题解答弹出窗口(数据){
常数appendedDiv=$(`
`);
const tbody=appendedDiv.find('tbody')[0];
data.forEach({content,subject},i)=>{
const tr=tbody.appendChild(document.createElement('tr');
tr.innerHTML=`
${i+1}
${subject}
`;
tr.querySelector('a').addEventListener('click',()=>getContent(content));
});
$('modal#u place')。追加(appendediv);
$('myModal').modal('show');
}

,他们有一个疯狂的范围链,需要全球污染,并有报价逃避问题。使用
addEventListener
instead@CertainPerformance那么我如何将数据传递给函数呢?通过传递您想要的参数?要传递它们,只需传递函数名后括号中的参数,就像您正在做的那样currently@CertainPerformance对不起,我不明白。我不知道您建议使用
AddEventListener
而不是使用
onclick
函数,但是这样,我不知道如何将
数据[I]['content']
传递到
getContent
函数。哇。非常感谢你。你救了我一天!!非常感谢。还有一件事,
${i+1}
打印为NaN,你知道为什么吗?这很奇怪。
i
来自
forEach
回调中的第二个参数,它应该始终是一个数字。它甚至从未被重新分配过。我看不出有什么理由是NaN,你是否准确地复制了代码?我无法重现问题,你能发布一个链接到你的bug发生的地方吗?这是部分。和console.log给我未定义的值。