2016-11-03 3 views
0

jquery로 선택한 행의 색상을 지정해야합니다. 한 줄로 된 텍스트 영역이 있다고 가정 해보십시오. 사용자가 텍스트 영역을 클릭 할 때 클릭 한 선을 tp color로 지정해야합니다. 그래서이 코드를 사용합니다 :어떻게 textarea jquery에서 한 줄로 만 표시합니까?

$(document).on("mouseup", '#scroll_bar', function(eventData) { 
     console.log("DELLLLLLLLL"); 
     var scrollPosition = $(this).scrollTop() 
     var lineHeight = $(this).css("line-height"); 
     lineHeight = parseInt(lineHeight.substring(0, lineHeight.length - 2)); 

     var line = Math.floor((eventData.offsetY + scrollPosition)/lineHeight); 

     alert($(this).val().split("\n")[line]); 
    }); 

그러나 나는 사용자가 클릭 한 줄을 찾았지만 오렌지색 같은 색상으로 선택하지 않았습니다. 누구든지 나를 도울 수 있습니까?

+3

당신은 텍스트 영역의 컬러 부분이 아니라, 전부 또는 아무것도의 수 없습니다. – adeneo

+1

@adeneo 맞습니다.하지만 전체 텍스트 영역을 포함하지 않는 배경은 어떻습니까? 예 : 배경 이미지 또는 선형 그래디언트를 사용합니까? 좀 더 창조적이라고 생각하십시오. (daanvanham의 답변처럼) –

+0

@RogierSpieker - 사실 꽤 멋지며 나에게 upvote가 있지만 여전히 텍스트 영역에서 라인을 채색 할 수는 없지만 선형 배경을 인정합니다 같은 인상을주는 속임수입니다. – adeneo

답변

3

배경 이미지가 포함 된 텍스트 영역의 한 줄 (또는 그 이상)을 색칠하는 것이 가능합니다.

여기서 선형 그래디언트를 배경 이미지로 사용하는 방법에 대한 예가 있습니다.

background: linear-gradient(to bottom, #fff 0px, red 0px, red 22px, #fff 22px); 
background-position: 20px; 

Working example

관련 문제