Виртуальные функции используются для поддержки Runtime Polymorphism.
То есть, виртуальное ключевое слово сообщает компилятору не принимать решение (привязки функции) во время компиляции, а отложить его на время выполнения ».
virtual
в своем объявлении базового класса. Например, class Base
{
virtual void func();
}
class Derive : public Base
{
void func();
}
, если вы используете jquery, вы можете использовать onclick-событие в div.
Это HTML / JS эта работа, как это.
<!doctype html>
<html>
<head>
<title>Document Title</title>
<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<script>
$('.clickable').on('click', function(){
var data_id = $(this).data('id');
$.ajax({
url: 'ajax.php',
type: 'POST',
data: {id: data_id},
dataType: 'json',
success: function(data){
$('#more-info').html(data.html);
},
error: function(jqXHR, textStatus, errorThrown){
$('#more-info').html('');
alert('Error Loading');
}
});
});
});
</script>
</head>
<body>
<div id="item-one" class="clickable" data-id="123">Click me</div>
<div id="item-two" class="clickable" data-id="456">Click me</div>
<div id="more-info"></div>
</body>
</html>
и скажем, что мы имеем PHP-файл с именем ajax.php вернет json, как мы ранее указывали в функции ajax dataType: 'json', и мы отправляем идентификатор через POST, поэтому вот пример, который вы должны использовать на нем.
ajax.php
<?php
$id = (int)$_POST['id'];
$query = "SELECT * FROM messages WHERE message_id = {$id} LIMIT 1"; //expecting one row
$result = mysql_query( $query );
$message = mysql_fetch_assoc( $result ); //expecting just on row
$json = array();
$json['html'] = '<p>' . $message . '</p>';
header('Content-Type: application/json');
echo json_encode( $json );
?>