1

機能: ボタンをクリックすると、その alt 値がテキスト領域に追加され、そのライブ プレビューが div で表示され、id はその alt 値です。私のコードには問題があります。ボタンをクリックすると、コード全体が挿入されました.idはdivタグを削除したいのですが、altコードのみを表示したいのですが、プレビューでは目的のdivがよく表示されます。私を助けてください!ありがとう

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script>
$(document).ready(function() {
    $('.image').click(function(e){
        var tav    = $('#image_code').val(),
            strPos = $('#image_code')[0].selectionStart;
        front  = (tav).substring(0,strPos),
            back   = (tav).substring(strPos,tav.length); 
        $('#image_code').val(front + '<div id=\"' + $(this).attr("alt") + '\"></div>' + back).trigger('keyup');
    });
    $('#image_code').keyup(function() {
        $('#image_preview').html( $(this).val() );
    });
});
</script>

<style>
#one{
background-color: black;
width: 50px;
height: 50px;
border-radius: 2px;
}
#two{
background-color: red;
width: 50px;
height: 50px;
border-radius: 2px;
}
#three{
background-color: blue;
width: 50px;
height: 50px;
border-radius: 2px;
}
</style>

<textarea id="image_code"></textarea>
<div id="image_preview"></div>
<button id="1" class="image" title="1" alt="one">1</button>
<button id="2" class="image" title="2" alt="two">2</button>
<button id="3" class="image" title="3" alt="three">3</button>
4

1 に答える 1

1

これはすべてかなり奇妙に思えますが、あなたの質問について私が理解できる限りでは、これはあなたが達成したいことですか?

$('.image').click(function(e){
    $('#image_code').val($(this).attr("alt")).trigger('keyup');
});
$('#image_code').keyup(function() {
    var tav    = $('#image_preview').html();
    strPos = $('#image_code')[0].selectionStart;
    front  = (tav).substring(0,strPos),
    back   = (tav).substring(strPos,tav.length); 
    $('#image_preview').html(front + '<div id=\"' + $(this).val() + '\"></div>' + back);
});

http://jsfiddle.net/U3aEg/

于 2013-05-10T07:46:42.357 に答える