"的onfocus"事件不适用于动态附加输入

时间:2017-09-15 07:50:55

标签: javascript jquery

当我动态添加输入时,onfocus功能无效。

我的代码

 $i=1;
<?php for($i=0;$i<=5;$i++){?>
      <input type="text" onfocus="myFun(<?php echo $i?>)">
<?php}?>

我的功能是

function myFun(val){
      alert(val);
}

2 个答案:

答案 0 :(得分:0)

cos所有输入都是相同的:(你需要添加一些

<?php 
 $i=1;
 for($i=0;$i<=5;$i++){?>
      <input name="post_name[]" id="id_<?php echo $i?>" type="text" onfocus="myFun(<?php echo $i?>)">
<?php}?>

javascript:

function myFun(val){
  alert(val);
}

答案 1 :(得分:0)

如果你可以使用jQuery,你可以这样做。动态添加的输入将以焦点的方式工作。

&#13;
&#13;
//******************************************************************
// JAVASCRIPT
//******************************************************************

// some function to do after focus.
// takes a value variable called val
function myFun(val){
  console.log(val);
}

// If you use the on method this way even if you
// add inputs after the DOM is loaded, then any 
// inputs with the class name "myInput" will 
// pass the focused value of the input to the myFun
// function above.
$("body").on("focus", ".myInput", function(){
  myFun($(this).val());
});
&#13;
//******************************************************************
// PHP
//******************************************************************
<?php
  for($i=0;$i<=5;$i++){
    echo "<input type='text' class='myInput' value='test value here => ".$i."'>";
  }
?>
&#13;
&#13;
&#13;