如何在(click)函数中设置字符串

时间:2018-12-31 02:33:16

标签: javascript html

我正在尝试用函数名称替换html元素中的字符串,在我的情况下,我要替换的字符串位于(click)函数内部,该函数被视为函数名称而不是字符串,但不是另外,当我获得元素的HTML时,我不知道为什么它没有检索(click)函数。有什么办法可以实现?

我的html元素

<li class="clearfix" (click)="fonction" style="cursor:pointer; 
   list-style: none;">

我在组件中的功能

var discussElt = document.getElementById('discussionElement').innerHTML;
   discussElt = discussElt.replace('fonction', 'clickDiscussion('  
                 + this.storage.get('discussTab')[i].id + ',' 
                 + this.storage.get('discussTab')[i].destinatorId + ")");

但是describeElt的值为

           <li class="clearfix" style="cursor:pointer;list-style: none;">

代替(click)="fonction"

它将是(click)="clickDiscussion(param1,param2)"

2 个答案:

答案 0 :(得分:1)

定义click事件侦听器以及是否可以决定执行哪个功能,而不是通过替换字符串来更改html元素。

function func_1(event){
  //do something
  console.log("func_1 executed");
}

function func_2(event, param1, param2){
  //do something
  console.log("func_2 executed");
  console.log("param1 : " + param1);
  console.log("param2 : " + param2);
}

function click_healder_func(event){
  var execute_func = document.querySelector('#some_input').value; 
  var param1 = "par_1";
  var param2 = "par_2";
  if(execute_func == "func_1"){
      return func_1(event,);
  }else if(execute_func == "func_2"){
      return func_2(event, param1, param2);
  }
}
type "func_2" in input then click li ele <input id="some_input" value="func_1"/>
<ol>
<li onclick="click_healder_func()" id="my_ele_id" class="clearfix" style="cursor:pointer; 
   list-style: none;"> i am li ele, click me</li></ol>

答案 1 :(得分:-1)

document.querySelector('#liId').addEventListener('click',function(event){
  var param1 = this.storage.get('discussTab')[i].id ;
  var param2 = this.storage.get('discussTab')[i].destinatorId;

  return clickDiscussion(event, param1, param2);

});

并向您的

  • 添加ID,如下所示:

    <li id="liId" class="clearfix" style="cursor:pointer;list-style: none;">
    

    Ps:我使用@ yip102011的想法并将其应用于您的代码