Rumah > Soal Jawab > teks badan
<p ng-repeat="x in inputContent track by $index">
<p ng-if="x.hint" ng-click="toEdit({{$index}})" class="lc-hint">{{x.placeholder}}</p>
<textarea ng-if="!x.readable" ng-model="x.value"></textarea>
</p>
Berbilang struktur sedemikian dijana oleh ng-repeat Area teks disembunyikan pada mulanya Klik lc-hint untuk membuat kawasan teks muncul secara automatik.
Arahan setfocus dalam dokumentasi rasmi nampaknya tidak berfungsi. Bantu
大家讲道理2017-05-15 17:08:42
Ada masalah dengan kod anda:
ng-click="toEdit({{$index}})"
hendaklah ditulis sebagai
ng-click="toEdit($index)"
Kenapa tidak gunakan yang asli dan tambahkan id textarea ke abc;
document.getElementById("abc").focus();
Jika anda memasukkan dalam konsol, sebaiknya tambahkan kelewatan. Fokus textarea hanya boleh dicetuskan apabila halaman semasa berada dalam keadaan fokus. Klik mana-mana sahaja pada halaman selepas menaip untuk mencetuskan:
setTimeout(function(){document.getElementById("abc").focus();},1000);
Fokus set yang anda hadapi tidak berkuat kuasa, mungkin kerana halaman semasa tidak berada dalam fokus. Letakkannya ke dalam persekitaran kod anda, tambah textarea dengan id, awalan yang saya tulis ialah suibianla_{whatever}:
<textarea id="suibianla_{{ $index }}" ng-if="!x.readable" ng-model="x.value"></textarea>
$scope.toEdit = function(index){
//你的业务代码
inputContent[index].readable = true; //我猜你是这样写的,在这里后边加一句
document.getElementById("suibianla_" + index).focus();
}