Коментарии в модальном окне
Доброе утро.
Помогите поправить JS код: Функция скрывает длинное коментарие и выводит полностью при наведение на текст. Хотелось бы что бы не при наведение это происходило а при клике открывалось модальное окно. Спасибо
<!-- HTML-код модального окна -->
<div id="myModalBox" class="modal fade">
<div class="modal-dialog">
<div class="modal-content">
<!-- Заголовок модального окна -->
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title">Комментарии</h4>
</div>
<!-- Основное содержимое модального окна -->
<div class="modal-body">
Содержимое модального окна... ('" + bodyValue + "')
</div>
<!-- Футер модального окна -->
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Закрыть</button>
</div>
</div>
</div>
</div>
(function () {
// Create object that have the context information about the field that we want to change it's output render
var bodyFiledContext = {};
bodyFiledContext.Templates = {};
bodyFiledContext.Templates.Fields = {
// Apply the new rendering for Body field on list view
"Comments": { "View": bodyFiledTemplate }
};
SPClientTemplates.TemplateManager.RegisterTemplateOverrides(bodyFiledContext);
})();
// This function provides the rendering logic
function bodyFiledTemplate(ctx) {
var bodyValue = ctx.CurrentItem[ctx.CurrentFieldSchema.Name];
//This regex expression use to delete html tags from the Body field
var regex = /(<([^>]+)>)/ig;
bodyValue = bodyValue.replace(regex, "");
var newBodyValue = bodyValue;
if (bodyValue && bodyValue.length >= 100)
{
newBodyValue = bodyValue.substring(0, 100) + " ...";
}
return "<span data-placement='left' data-toggle='popover' title='" + bodyValue + "'>" + newBodyValue + "</span>";
}
|
window.open не помогает?
|
destus,
Можете немного поподробнее. |
Цитата:
https://learn.javascript.ru/window-methods
<a id="testLink" href="#">Открыть окно</a>
<script>
var a = document.getElementById('testLink');
a.addEventListener('click',function(e){
var newWin = window.open('javascript:','','width=300,height=300');
newWin.document.write('Здесь был длинный комментарий');
newWin.moveBy(a.offsetLeft + 100,a.offsetTop + 100);
a.preventDefault();
},
false);
</script>
|
Только будте осторожны, $ - это не jquery!
<style>
html, body {
width: 100%;
height: 100%;
}
.modal {
display: none;
}
.block {
width: 100%;
height: 100%;
background-color: rgba(0,0,0, 0.6);
position: fixed;
left: 0;
top: 0;
}
.modal-content {
border: 1px solid #eee;
border-radius: 3px;
position: fixed;
left: 50%;
top: 50%;
background-color: #fff;
transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%);
padding: 10px 15px;
}
.modal-content .close {
position: absolute;
right: 10px;
top: 10px;
}
</style>
<a class="show-modal">Открыть окно</a>
<div class="modal">
<div class="block"></div>
<div class="modal-content">
<div class="close">X</div>
<div class="header"></div>
<div class="content"></div>
<div class="footer"></div>
</div>
</div>
<script>
var $ = document.querySelector.bind(document);
var showModal = function (headerText, contentText, footerText) {
$('.modal').style.display = 'block';
$('.header').innerHTML = headerText;
$('.content').innerHTML = contentText;
$('.footer').innerHTML = footerText;
};
$('.close').addEventListener('click', function () {
$('.modal').style.display = 'none';
}, false);
$('.show-modal').addEventListener('click', function () {
showModal('Какой-то заголовок!', '<h1>какой-то контент</h1>', 'какой-то футер');
}, false);
</script>
|
| Часовой пояс GMT +3, время: 19:41. |